我在MVC应用程序中使用SimpleMembershipProvider。我的UserProfile表的名称是'Employees'
这是我初始化表的代码行==> WebSecurity.InitializeDatabaseConnection("PcsWebDB", "Employees", "IdNumber", "UserName", autoCreateTables: true);
创建并登录后(因此在系统上创建用户)我通过SQL Modify Table Command将字段添加到表中,然后填充插入。然后使用新字段更新我的模型(以及它们与表匹配的双重和三重检查)。
我的问题是当我尝试引用它时,Employees总是为NULL。这是我的上下文==>
public class PcsWebDB : DbContext
{
public DbSet<Company> Company { get; set; }
public DbSet<Employee> Employees { get; set; }
public DbSet<Patient> Patients { get; set; }
public DbSet<Transaction> Transactions { get; set; }
public PcsWebDB()
{
Employees = Set<Employee>();
}
我可以看到公司和患者的数据。事务显示如下:Empty =“Enumeration没有产生结果”,因为它是一个我所期望的空表。但即使Employees表中有数据,Employees对象也始终为null。它是NULL而不是空的这一事实让我相信它甚至没有正确初始化。我怀疑它可能与SimpleMembership有关。我似乎无法在网上找到任何关于此的内容。
所以我的问题是双重的。一,任何用于解决Entity Framework问题的好工具(因为它显然是一个幕后问题)和两个为什么当我知道有数据时我会得到Null?
非常感谢所有帮助。谢谢。
答案 0 :(得分:0)
以下是最终结果:员工表中有两个名称中包含“id”的字段。其中一个有NULL值。即使我注释了我的主键,我认为EF感到困惑并试图使用NULL值。一旦我骑上了这个领域(我意识到我真的不需要它)并且在一个带有id的字段中没有NULL ......它有效!