1

I am trying to add an GenerateInvoice View, with a Detail template, with Model class: Invoice, with data context class: JaldiSeEntities.The auto-generation will not execute.

This error appear

There was an error running the selected code generator: 'Unable to retrieve metadata for 'WebUI.Models.Invoice

Controller:

    public ActionResult GenerateInvoice(int? id)
    {
        var prQuery = (from p in db.tbl_Invoice
                       join prI in db.tbl_InvoiceItem on p.Id equals prI.InvoiceId
                       where p.Id == id
                       select new Invoice() //<---This is the change here
                       {
                           Id = p.Id,
                           OrderId = (int)p.OrderId,
                           InvoiceNumber = (long)p.InvoiceNumber,
                           InvoiceDescription = p.InvoiceDescription,
                           InvoicePrice = (decimal)p.InvoicePrice,
                           DiscountPercentage = p.DiscountPercentage,
                           InvoiceStatus = p.InvoiceStatus,
                           ItemDescription = prI.ItemDescription,
                           ItemAmount = (decimal)prI.ItemAmount
                       });

        return View(prQuery);
    }

Invoice Model:

  namespace JS.WebUI.Models
 {
public class Invoice
{
    public int Id { get; set; }
    public Nullable<int> OrderId { get; set; }
    public Nullable<long> InvoiceNumber { get; set; }
    public string InvoiceDescription { get; set; }
    public Nullable<decimal> InvoicePrice { get; set; }
    public string DiscountPercentage { get; set; }
    public string InvoiceStatus { get; set; }
    public string ItemDescription { get; set; }
    public Nullable<decimal> ItemAmount { get; set; }
}
}

Connection String:

<connectionStrings>
<add name=" JaldiSeEntities"connectionString="metadata=res://*/Models.JSModel.csdl|res://*/Models.JSModel.ssdl|res://*/Models.JSModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost;initial catalog=JaldiSe;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
  providerName="System.Data.EntityClient"/>

Provider node:

  <providers>
  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
AHMAD ASHFAQ
  • 83
  • 1
  • 9

1 Answers1

0

I think you need change connectionStrings inweb.config. (see this post)

Community
  • 1
  • 1
Ali Soltani
  • 9,589
  • 5
  • 30
  • 55