资深编码员,
我使用实体框架面临着一个奇怪的问题,我想了解其根本原因:
我在一个包含数据模型类Foo.cs的解决方案中有一个共享项目( Project A )。
此数据模型用于另一个asp核心项目(项目B )中,并通过特定于应用程序的上下文绑定到数据库。我使用“代码优先”方法更新了数据库。
我可以从项目B 中执行数据库操作,而不会遇到任何麻烦(加载数据,检索它们等等)。
但是,现在,我也想从 Project A 中执行操作。因此,我天真地在此项目中创建了一个新的DbContext(我无法从 项目B 中引用它,但已经有一个从A到B的引用),但是在尝试加载数据后,尽管它与数据库的连接良好,但我得到的记录为空。
public class ProjectADbContext : DbContext
{
public ProjectADbContext (string connectionString) : base(connectionString)
{
}
public DbSet<Foo> Foos { get; set; }
}
public class GetDatas
{
private static void GetDatas()
{
using (ProjectADbContext context = new ProjectADbContext (Configuration.RemoteDBConnectionString))
{
context.Foos.Load(); //Get an empty record list
}
}
我在做什么错? EF是否认为这两个上下文之间的数据类型不同?
感谢您的帮助。