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="data source=localhost;initial catalog=JaldiSe;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient"/>
Provider node:
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>