如何添加元数据类
WCF RIA Services支持对实体类和成员的批注。批注是通过叫做元数据类的局部类来实施的。当我们想批注一个生成的实体类,并在重新生成这个实体类时不想丢失这些批注,我们使用元数据类。通过使用[MetadataTypeAttribute]属性来指定一个元数据类。
通过使用Domain Service Class模板来添加元数据类
- 在服务端项目中,添加一个新建项并选择Domain Service Class模板。
- 当出现Add New Domain Service Class对话框时,选择想要公开的实体。
- 勾选Generate associated classes for Metadata选框。
- 点击OK。就会生成一个Domain service class的文件和一个元数据文件。在元数据类的名字中会包含.Metadata,例如:DomainService1.Metadata.cs
- 打开元数据类并添加一些属性如下代码所示:12345678910111213141516171819202122232425262728293031323334353637383940
public
partial
class
Address
{
{
// Metadata classes are not meant to be instantiated.
private
AddressMetadata()
{
}
public
int
AddressID;
[required]
[StringLength(60)]
public
string
AddressLine1;
public
string
AddressLine2;
[required]
[StringLength(30)]
public
string
City;
public
string
CountryRegion;
public
EntityCollection<CUSTOMERADDRESS> CustomerAddresses;
public
DateTime ModifiedDate;
[required]
public
string
PostalCode;
[Exclude]
public
Guid rowguid;
public
string
StateProvince;
}
}
手动添加元数据
- 在服务端项目中,添加一个新类。这个类的名字应与想要公开的实体类的名字一致。按照惯例,在名字用包含.Metadata。
- 添加关键字partial来使类成为局部类。下面的代码示例了一个匹配名字为Address实体类的局部类。123456
- 在局部类中,创建一个internal类作为元数据类。如下:12345678
- 对局部类添加[MetadataTypeAttribute属性,并包含元数据类的类型。代码如下:
- 在元数据类中,添加和实体类中成员属性同名的成员属性。
- 对成员属性添加属性批注。示例代码如下:12345678910111213141516171819202122232425262728293031323334353637383940
public
partial
class
Address
{
{
// Metadata classes are not meant to be instantiated.
private
AddressMetadata()
{
}
public
int
AddressID;
[required]
[StringLength(60)]
public
string
AddressLine1;
public
string
AddressLine2;
[required]
[StringLength(30)]
public
string
City;
public
string
CountryRegion;
public
EntityCollection<CUSTOMERADDRESS> CustomerAddresses;
public
DateTime ModifiedDate;
[required]
public
string
PostalCode;
[Exclude]
public
Guid rowguid;
public
string
StateProvince;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。