【问题标题】:Cannot retrieve Metadata on Adding View添加视图时无法检索元数据
【发布时间】:2016-07-17 03:40:00
【问题描述】:

我正在尝试添加 GenerateInvoice 视图,带有 Detail 模板,带有 Model 类:Invoice,带有数据上下文类:JaldiSeEntities .自动生成不会执行。

出现这个错误

运行所选代码生成器时出错:'无法检索'WebUI.Models.Invoice 的元数据

控制器:

    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);
    }

发票型号:

  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; }
}
}

连接字符串:

<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"/>

提供者节点:

  <providers>
  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>

【问题讨论】:

  • 对不起!有什么问题?
  • 当我尝试在脚手架错误期间生成 GenerateInvoice ActionResult 的视图时,即**无法检索 WebUI.Models.Invoice 的元数据。**

标签: c# asp.net-mvc


【解决方案1】:

我认为您需要更改web.config 中的连接字符串。 (见this帖子)

【讨论】:

  • 请将 web.config 中的 providers 节点添加到您的问题中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 2019-07-19
相关资源
最近更新 更多