【发布时间】:2014-01-22 06:38:13
【问题描述】:
我将 EF 与我使用 c# 的 asp.net mvc 项目一起使用。
我现在正忙于设计数据模型,我想知道是否有一种方法可以控制每个属性的某些属性,不仅在模型对象中,而且在持久存储中(在我的例子中是 MS SQL)。
这是我当前领域模型的一个示例。
public class Network
{
[Required]
public int networkID { get; set; }
[Required]
[StringLength(30, MinimumLength = 3)]
[DisplayName("Name")]
public string name { get; set; }
[Required]
[Range(0, 7)]
[DisplayName("Start Code")]
public int startCode { get; set; }
[Required]
[DisplayName("Frequency (Mhz)")]
public decimal frequency { get; set; }
//public virtual List<Block> blocks { get; set; }
//The number of used up blocks. Will increase by the block size of every newly created block.
[Required]
[Range(0, 65535)]
public int blockCounter { get; set; }
//Number of blocks within the network.
[Range(0,65535)]
public int noOfBlocks { get; set; }
}
现在与此相关的问题:
这一行:
[Range(0,65535)]
public int noOfBlocks { get; set; }
这实际上会将数据库中的 int 限制为该大小吗?还是纯粹出于验证目的?
如果不是,我如何定义有关特定属性的某些属性,例如:
- 如果是主键?
- 设置默认值。
- 指定字段的长度或范围。
- 定义是否可以为空。
基本上是 MS SQL 在创建条目时提供的功能。
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework orm domain-model