类型映射


  实体类使用 EntityMappingAttribute 特性进行标记。它包含以下的属性:

  • TableName 用来标记所对应数据库表的名称。当实体类名称与表名称一致时,可以忽略此属性。

  • Description 用于备注实体类,一般与数据表中的备注是一致的。

  • IsReadonly 标记是否为只读,如果为 true,则 EntityRepository 只允许查询的操作。

  如果未使用 EntityMappingAttribute 标记,则数据表的名称需与类名称一致。如下所示:

[EntityMapping("orders", Description = "订单表")]
public class Orders : EntityObject
{
}

[EntityMapping("order_details", Description = "订单明细表")]
public class OrderDetails : EntityObject
{
}

public class Products : EntityObject
{
}

  使用 EntityMetadataUnity 类可以获取指定实体类型的实体元数据。如下所示:

[TestMethod]
public void TestGetEntityMetadata()
{
    var metadata = EntityMedataUnity.GetEntityMetadata(typeof(Orders));
    Assert.AreEqual("orders", metadata.TableName);
    
    metadata = EntityMedataUnity.GetEntityMetadata(typeof(Products));
    Assert.AreEqual("Products", metadata.TableName);
}