我有一个父子查找我的下拉值的数据库,有一个域表代表它的下拉类型,即" TITLE"," MARITAL_STATUS& #34;,"国家"并且查找与我们称之为域值的每个下拉列表相关联的值
EG TITLE(域表)
MARITAL_STATUS(域名表)
我发现自己编写的丑陋代码暴露了类似于下面
的低位实现using (var db = new OrderContext())
{
...
var maritalStatusId = (
from sp in db.DomainValues
where sp.ShortCode == "MARRIED"
where sp.Domain.ShortCode == "MARITAL_STATUS"
select sp.Id
).FirstOrDefault();
if maritalStatusId != 0)
{
orderStore.maritalStatus = maritalStatusId;
}
...
db.OrderStores.Add(orderStore);
db.SaveChanges();
}
是否可以编写与此
类似的代码using (var db = new OrderContext())
{
...
orderStore.maritalStatus = new MaritalStatus { ShortCode = "MARRIED" }
...
db.OrderStores.Add(orderStore);
db.SaveChanges();
}
,导航属性处理插入?
如果是,我如何设置?
任何关于此的文章的链接都会很好。
答案 0 :(得分:0)
您可以使用下拉列表的不同值保留缓存,这似乎是合理的,或者如果值不是动态的,您可以使用枚举。
另一个解决方案是将短代码字段作为表格的主键,所有问题都将得到解决。