光脚丫学LINQ(026):如何使实体可序列化
视频演示:http://u.115.com/file/f274c53ada
光脚重点总结
要想使对象模型中的实体类对象可被序列化,就应该在实体类的定义中使用DataContractAttribute属性修饰,以及在实体类的列成员中使用DataMemberAttribute属性修饰就可以了。比如下面的代码:
[Table(Name="dbo.Customers")]
[DataContract()]
public partial class Customers
{
[Column(Storage="_CustomerID")]
[DataMember(Order=1)]
public string CustomerID
{
get{ return this._CustomerID; }
set{ this._CustomerID = value; }
}
}
[Table(Name="dbo.Customers")]
[DataContract()]
public partial class Customers
{
[Column(Storage="_CustomerID")]
[DataMember(Order=1)]
public string CustomerID
{
get{ return this._CustomerID; }
set{ this._CustomerID = value; }
}
}
上面的这个实体类对象就可以被序列化。
要向对实体类做这样的修改,除了使用手动的方式以外,还可以借助SQLMetal和对象关系设计器这样工具。
可以使用如下的SQLMetal命令来创建可被序列化的实体类。
SqlMetal /code:"C:\Northwind.cs" /language:csharp "C:\LINQ\Northwind.mdf" /serialization:unidirectional
上面这个命令决定实体类对象是否可序列化的参数是 /serialization:unidirectional。
至于对象关系设计器,则可以设置【序列化模式】设置为单向来实现这点。
浙公网安备 33010602011771号