为啥我修改模型类后会出现错误?

Posted

技术标签:

【中文标题】为啥我修改模型类后会出现错误?【英文标题】:Why an error occurs after I modified my model class?为什么我修改模型类后会出现错误? 【发布时间】:2013-11-03 09:39:42 【问题描述】:

我的 Vouchers 模型就像

public int Id  get; set; 
public string Code  get; set; 
public Nullable<int> PackageId  get; set; 
public Nullable<int> ResellerId  get; set; 
public Nullable<System.DateTime> AddedDT  get; set; 
public Nullable<System.DateTime> RedeemDT  get; set; 
public Nullable<int> RedeemUserId  get; set; 
public string RedeemUserName  get; set; 
public string Note  get; set; 
public Nullable<bool> IsRedeemed  get; set; 

我加了

public  virtual  Reseller reseller  get; set; 

使用凭证获取经销商名称

我打电话时的行动

var model = (from v in context.Vouchers orderby v.Id select v);

显示错误

实体类型 Voucher 不是当前上下文模型的一部分。

这是什么意思,我该如何解决?

【问题讨论】:

在这里查看答案***.com/questions/5634392/… 您需要更新您的模型。右键单击模型图并从类中更新。如果您使用 code first 方法,那么您可能会因为虚拟而遇到问题,因此请像 public Reseller reseller get; set; 这样编写它应该可以工作。干杯! 你的型号代码在前吗? 【参考方案1】:

您可能没有在这样的上下文中注册实体:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        
            modelBuilder.Entity<Voucher>();
            // need register Reseller as well
        

Google for OnModelCreating 和 DbModelBuilder。

【讨论】:

现在是这样 protected override void OnModelCreating(DbModelBuilder modelBuilder) modelBuilder.Entity(); modelBuilder.Entity(); // 还需要注册 Reseller throw new UnintentionalCodeFirstException(); @AhmedNaguib 请使用表/列属性、数据库初始化程序显示整个代码。确保使用正确的连接字符串(正确的服务器和数据库包含所有这些实体)。确保表名与模型中的表属性匹配。

以上是关于为啥我修改模型类后会出现错误?的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试使用 MVVM WPF 中的命令修改对象时,为啥在视图模型中出现空错误?

为啥白名单不会出现错误模型 NestJs 的错误

为啥在GNS3里我安装了一个c7200的路由器后拉出来后会出现错误?

我使用 CNN 模型创建了 CIFAR10 数据集学习模型。为啥会出现错误?

当我尝试迁移模型时,为啥会出现“无法序列化错误”?

为啥我在运行 PageViewController 后会收到此错误?