我正在用 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、两个字母的代码和包含完整州名的第三列。
我希望使用此状态查找表来填充和状态下拉样式框等,并且还可以作为对地址实体中提交的状态的验证。很普通的东西。所以,我有几个简单的(我希望的)问题。
- 我是否需要创建一个实体来表示 State 实体只是为了让 EF 创建表,还是我可以将表创建过程包含在 DBCreation 策略中并在那里播种?
- 创建该实体是否有意义,只是用作我想显示“状态选择器”的任何地方的“视图模型”
- 我真的只想将两个字母的状态代码存储在地址实体中,但这是否有意义,或者将其作为状态实体的导航属性然后显示是否更有意义?
我在这里表达我的观点有点挣扎,所以如果我不清楚,请随时询问更多细节。
提前致谢。在 UI 中合适吗?