【发布时间】:2012-04-20 03:55:42
【问题描述】:
我正在使用 EF 进行我的第一个项目,并且我计划采用代码优先模型。我试图找到一些关于处理相当经典的“查找表”场景的指导。
我正在处理一个非常规范的情况,我将保留地址数据。所以,我有一个简单的地址 DTO...
public class Address
{
public int Id { get; set; }
public virtual string StreetAddress1 { get; set; }
public virtual string StreetAddress2 { get; set; }
public virtual string City { get; set; }
public virtual string State { get; set; }
public virtual string ZipCode { get; set; }
}
在 state 属性中,我想存储标准的美国两字母州代码。出于验证目的,我希望在结果地址表和相当标准的状态查找表之间建立标准的一对多外键关系。该表可能包含一个 ID、两个字母的代码和包含完整州名的第三列。
我希望使用此状态查找表来填充和状态下拉样式框等,并且还可以作为对地址实体中提交的状态的验证。很普通的东西。所以,我有几个简单的(希望是)问题。
- 我是否需要创建一个实体来代表国家实体只是为了 让EF创建表,或者我可以只包括表创建 在 DBCreation 策略中处理并在那里播种?
- 创建该实体是否有意义,只是用作“视图 模型”用于我想显示“状态选择器”的任何地方
- 我真的只想把两个字母的状态码存入地址 实体,但这有意义还是更有意义 使其成为状态实体的导航属性,然后显示?
在这里表达我的观点有点困难,所以如果我不清楚,请随时询问更多细节。
提前致谢。 在 UI 中是否合适?
【问题讨论】:
-
3- 我个人使用实体只是因为它可以避免用户的印刷错误。如果您在许多实体中使用它(现在或以后),我也会确保一致性。但是,如果您的应用程序相当小或者您不需要太多验证,那么我看不到太多将这两个字母直接放在您的地址实体中的反指示。
标签: c# entity-framework-4.1 poco code-first