这是我第一次使用Entity framwework进行Web应用程序。我使用了DB First方法,并使用dbcontext代码生成器的代码生成器生成针对数据库中表的模型,如msdn示例中所示。我的表具有带有variuos域代码值的列,它们的实际值存储在查找表中。下面是数据库与查找表定义的表格架构之一:
Table Car ( CarId int, CarTypeCode varchar(2), CarModelCode varchar(2))
Table LookupTable (LookupId int, LookupType varchar, Lookupcode varchar, LookupValue varchar)
实际数据示例:
Car (1,'SD','TO')
Car (2,'HB','FO')
LookupTable (1, 'CarType','SD','Sedan')
LookupTable (2, 'CarType','HB','Hatchback')
LookupTable (3, 'CarModel','TO','Toyota')
LookupTable (4, 'CarModel','FO','Ford')
在这种情况下,没有为Car和LookupTable定义直接的foriegn密钥关系。因此,当我生成模型类时,没有正确的导航属性。但是现在我不确定如何在运行时获得Car的实际值,而对性能的影响最小。
如果在上面的场景中使用了带有统一框架的存储库模式,请建议什么是最好的方法。