本文共 1589 字,大约阅读时间需要 5 分钟。
通过为实体类成员添加ColumnAttribute特性和设置DbType属性,可以为数据库中的列指定数据类型。这种方法在使用DataContext.CreateDatabase()来根据对象模型自动生成数据库时尤为重要。
[Column(Storage="_ContactTitle", DbType="NVarChar(30)")]public string ContactTitle { get { return this._ContactTitle; } set { if ((this._ContactTitle != value)) { this.OnContactTitleChanging(value); this.SendPropertyChanging(); this._ContactTitle = value; this.SendPropertyChanged("ContactTitle"); this.OnContactTitleChanged(); } }}
NorthwindDataContext db = new NorthwindDataContext(@"C:/LINQ/NorthwindExpress.mdf");db.Log = Console.Out;if (db.DatabaseExists()) db.DeleteDatabase();db.CreateDatabase();
####ColumnAttribute.DbType的作用当希望根据代码模型创建数据库时,ColumnAttribute.DbType属性非常有用。没有设置这个属性时,数据库将使用默认的NVARCHAR(4000)。然而,指定有效的数据类型能够确保数据库结构与代码模型一致,避免数据库创建失败。
如果将无效的数据类型赋值给DbType属性,LINQ to SQL会将其拼接到SQL命令中,但这可能导致失败的数据库创建。因此,必须确保设置的数据库类型是有效的。
在不使用DataContext.CreateDatabase()(即不根据代码模型创建数据库)时,设置DbType属性并没有必要。数据库类型的确定会依赖于预定义的数据库结构,而不是代码模型。
通过以上内容理解了ColumnAttribute.DbType的重要性及其在数据库创建中的应用。这一知识点对于确保数据库和代码模型的一致性至关重要。
转载地址:http://estiz.baihongyu.com/