我正在使用EF與一個asp.net mvc項目,我正在使用c#。如何使用實體框架控制數據庫參數
我現在忙於設計數據模型,我想知道是否有方法來控制不僅在模型對象中的每個屬性的某些屬性,而且在持久存儲(我的情況下是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; }
這是否會actully限制在數據庫中該尺寸的詮釋?或者這純粹是爲了驗證的目的?
如果不是我怎麼能確定有關特定屬性的某些屬性,如:
- 如果這是一個主鍵?
- 設置默認值。
- 指定字段的長度或範圍。
- 定義它是否可以爲null。
基本上MS SQL提供程序創建條目時的功能。
謝謝,很好地解釋了我的問題的部分。好吧,但現在如果我使用數據註解這樣:'[MaxLength(10),MinLength(5)] public string BloggerName {get;組; }然後呢會執行驗證和持久性驗證嗎? – Zapnologica
同樣,這隻會在插入或更新實體之前驗證您的數據。在ASP.NET腳手架的情況下,數據將通過使用相同的數據註釋在頁面級別進行驗證。 –