所以我正在尝试使用 EF 建立自定义成员资格。我真的不知道我在做什么,但到目前为止进展相当顺利。
我在 Database Initializer 步骤中,我试图在项目运行后立即将数据转储到数据库中。我的班级Application.cs
使用 GUID 作为主键,如下所示。我试图弄清楚如何将该 GUID 添加到数据库中。
我不知道这是否可能,但这就是我想要做的。当您在 VS 2012 中创建一个普通的 Web 应用程序项目并尝试使用 EF Code First 重新创建该数据库时,我使用了默认登录的数据库(为了练习)。这是我到目前为止得到的。
班级
public class Applications
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ApplicationId { get; set; }
[StringLength(125)]
public string ApplicationName { get; set; }
}
初始化器在构建时将数据转储到数据库中(不包括种子。)
private static List<Applications> addApplications()
{
var apps = new List<Applications>
{
new Applications
{
ApplicationId = Guid.NewGuid(),
ApplicationName = "Test Login"
}
};
return apps;
}
private static List<Memberships> addMemberships()
{
var mem = new List<Memberships>
{
new Memberships
{
UserId = Guid.NewGuid(),
ApplicationId = ?, // How can this guid Match the one in
// in ApplicationId for the Application Table?
}
};
return mem;
}
我得到“Invalid Initializer member declarator”。我面临的问题是我需要ApplicationId
跨多个表的 GUIDS 相同。我什至不知道这是可能的还是正确的?
我有一种感觉,我必须以某种方式分享它,也许就像
Guid AppId;
AppId = Guid.NewGuid();