C# 实体类型<;T>;不是当前上下文的模型的一部分

C# 实体类型<;T>;不是当前上下文的模型的一部分,c#,entity-framework,C#,Entity Framework,我已经测试了模型中的其他表,它们正在工作。但是,我添加了两个新表,它们不在模型中 如何确保数据库表是模型的一部分 此代码中未调用OnModelCreating。 向表中添加项时引发此异常 public void Add<T>(T obj) where T : class { Set<T>().Add(obj); } public void Add(T obj),其中T:class { Set().Add(obj); } 我将这两个表都添加到数据库中 将这两个

我已经测试了模型中的其他表,它们正在工作。但是,我添加了两个新表,它们不在模型中

如何确保数据库表是模型的一部分


此代码中未调用OnModelCreating。

向表中添加项时引发此异常

public void Add<T>(T obj) where T : class
{
   Set<T>().Add(obj);
}
public void Add(T obj),其中T:class
{
Set().Add(obj);
}
我将这两个表都添加到数据库中

将这两个表添加到数据库后,我使用
从数据库更新模型
在模型中生成了它们,这两个表都出现在模型中。

当我查看表映射时,它们似乎映射到了正确的POCO。我不是100%确定

这些类如下所示:
没有调用模型创建
,正如您指出的那样,因此我可以确定您使用的是模型优先的方法(而不是代码优先)。在这种情况下,您负责所有映射

似乎
RequestId
AppToLeadRequest
类的外键——如果是这种情况,您必须自己在这两个类中声明
public virtual
语句

例如--
AppToLeadRequest
类的底部应该包含:

公共虚拟ICollection AppToLeadRequestLines{get;set;}

在类的底部,它应该包含:

公共虚拟AppToLeadRequest AppToLeadRequest{get;set;}


我还将
RequestId
更改为
AppToLeadRequestId
,以遵循
Id
格式。

该错误可能意味着一些事情。您能验证其他表是否正常工作,只是有一两个表不正常吗?我已经测试了其他表,它们正常工作。只有我添加的两个新表有这个问题。在类模型中,
LeadDeliveryTimes
be
TimeSpan
,而它在映射中显示了一个
bigint/Int64
?我想我放错图片了,现在更新。
AppToLeadRequestLine
类显示类型为
AppToLeadRequestStatus
Status
,而上面的映射屏幕截图在表侧显示类型为
int
Status
,在poco侧显示类型为
Int32
。。。也许edmx不喜欢这种差异?
public void Add<T>(T obj) where T : class
{
   Set<T>().Add(obj);
}