0
模型中的问题:如何使用实体框架C#定义默认值?
public class EmployeeType
{
public int employeeTypeId { get; set; }
public string typeName { get; set; }
public virtual List<Employee> Employees { get; set; }
}
public class Employee
{
public int employeeId { get; set; }
public string userName { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public string password { get; set; }
public int employeeTypeId { get; set; }
public virtual EmployeeType EmployeeTypes { get; set; }
public virtual List<PhoneNumber> PhoneNumbers { get; set; }
}
目前,我公司通过加入不同的值:
db.EmployeeType.Add(new EmployeeType
{
typeName = "Administrator"
});
db.EmployeeType.Add(new EmployeeType
{
typeName = "Seller"
});
db.EmployeeType.Add(new EmployeeType
{
typeName = "Accountant"
});
但在当我要检查,如果用户是管理员还是等我有检查linq查询并找出id是否等于Employee表中的id。
我怎么能在EmployeeType模型中定义默认记录,而不是通过多。新增线路添加值,这样我就可以使用这样的:
if (db.Employee.FirstOrDefault(o => ...).servictypeId
== EmployeeType.Administrator)
{
}
[图片](https://www.dropbox.com/s/dh1m2o2apv2wamj/edmxpic.jpg) 这里是我的情况。 其实这是我第一次使用edmx做某事,因为我通常使用类来使用实体框架。我不明白转换employeetypeId的概念,如果它是在类而不是edmx。你能否引用我的一篇文章来描述你想教我的东西。 :) –
http://msdn.microsoft.com/en-us/data/jj248772.aspx – Derek
感谢您的帮助,但我相信,当你认为“最好的方式来处理这将是将employeetypeId转换为枚举在EF中“,这意味着从代码第一个数据库设计改为EDMX。这将有更好的结果,我必须通过EDMX再次完成我的整个模型结构。所以我不明白你为什么提到我不得不使用EDMX,但你的解决方案进一步完美工作。 :) –