实体框架不确定如何从一个表中检索Guid以在另一个表中使用
本文关键字:Guid 检索 另一个 一个 不确定 框架 实体 | 更新日期: 2023-09-27 18:06:48
我使用实体框架来创建我的数据库。我有一个名为"Departments"的表,它首先播种,然后添加两个用户。我需要使用部门表中的Id来创建用户表。
context.Department.AddOrUpdate(x => x.Id,
new Department() { Id = Guid.NewGuid(), Name = "System", ImageNameLight = "", ImageNameDark = "" },
new Department() { Id = Guid.NewGuid(), Name = "Estimating", ImageNameLight = "", ImageNameDark = "" },
new Department() { Id = Guid.NewGuid(), Name = "Assembly", ImageNameLight = "dep-assy-off", ImageNameDark = "dep-assy-on" },
new Department() { Id = Guid.NewGuid(), Name = "Project Engineering", ImageNameLight = "dep-pe-off", ImageNameDark = "dep-pe-on" },
);
var firstOrDefault = context.Department.FirstOrDefault(d => d.Name == "System");
if (firstOrDefault != null)
{
var user = new ApplicationUser
{
UserName = "sysadmin",
Email = "sysadmin@noemail.com",
EmailConfirmed = true,
FirstName = "System",
LastName = "Admin",
RoleId = adminRole.Id,
DateCreated = DateTime.Now,
DepartmentId = firstOrDefault.Id
};
这是我目前所做的,但它不起作用,因为用户从未创建。
你必须先保存到你的上下文,否则种子将永远不会工作,试试这个:
context.Department.AddOrUpdate(x => x.Id,
new Department() { Id = Guid.NewGuid(), Name = "System", ImageNameLight = "", ImageNameDark = "" },
new Department() { Id = Guid.NewGuid(), Name = "Estimating", ImageNameLight = "", ImageNameDark = "" },
new Department() { Id = Guid.NewGuid(), Name = "Assembly", ImageNameLight = "dep-assy-off", ImageNameDark = "dep-assy-on" },
new Department() { Id = Guid.NewGuid(), Name = "Project Engineering", ImageNameLight = "dep-pe-off", ImageNameDark = "dep-pe-on" },
);
context.SaveChanges();
//Do whatever with your new context