public void ComponentMappingDemo()
{
//show how " /> 日本黄色www,亚洲电影网址,亚洲不卡视频在线观看

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

NHibernate3剖析:Mapping篇之ConfORM實戰(5):Component語義

  Component語義

  使用ConfORM“映射”組件,我們無需特別設置,ConfORM內部會根據Domain定義來判定組件,一般而言,沒有主鍵的類就是組件。

[Test]
public void ComponentMappingDemo()
{
//show how work with components and how ConfORM understands OOP
var orm = new ObjectRelationalMapper();
var mapper = new Mapper(orm);
//use the definition of table-to-class strategy class by class
orm.TablePerClass<Person>();
// Show the mapping to the console
var mapping = mapper.CompileMappingFor(new[] { typeof(Person) });
Console.Write(mapping.AsString());
}

  一些Domain范例

  我們使用各種集合定義Domain:

  1.Mapping a class with components

  Person實體有兩個組件:

public class Person
{
public int Id { get; set; }
public Name Name { get; set; }
public Address Address { get; set; }
}

public class Name
{
public string First { get; set; }
public string Last { get; set; }
}
public class Address
{
public string Street { get; set; }
public int CivicNumber { get; set; }
}

  Mapping

  輸出HbmMapping的映射字符串結果:

ClassWithComponents  2.Mapping a class with double usage of same component

  在上面Domain的基礎上新增一個Name類型的屬性:

public class Person
{
public int Id { get; set; }
public Name Name { get; set; }
public Name ShowBusinessAlias { get; set; }
public Address Address { get; set; }
}

  Mapping

  輸出HbmMapping的映射字符串結果:

ClassWithDoubleSameComponents  3.Collection of components

  使用一個集合,而不是單一組件:

public class Person
{
private Iesi.Collections.Generic.ISet<Address> addresses;
public Person()
{
addresses = new Iesi.Collections.Generic.HashedSet<Address>();
}
public int Id { get; set; }
public Name Name { get; set; }
public ICollection<Address> Addresses { get { return addresses; } }
}

  Mapping

  輸出HbmMapping的映射字符串結果:

CollectionOfComponents  4.Bidirectional relation

  實現實體與組件的雙向關聯關系:

public class Person
{
public int Id { get; set; }
public Name Name { get; set; }
public Name ShowBusinessAlias { get; set; }
public Address Address { get; set; }
}
public class Name
{
public Person Person { get; set; }
public string First { get; set; }
public string Last { get; set; }
}

  Mapping

  輸出HbmMapping的映射字符串結果:

BidirectionalRelation  結語

  這篇文章展示ConfORM的Components語義應用,映射了一些Domain示例。接下來繼續介紹ConfORM。Are you ConfORM?

  參考資料

  Fabio Maulo:ConfORM:“Mapping” Components

NET技術NHibernate3剖析:Mapping篇之ConfORM實戰(5):Component語義,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲成在人线视频 | 学生精品国产在线视频 | 99久久99久久久精品齐齐鬼色 | 免费精品国偷自产在线 | gay吊粗大双龙| 国产高清在线观看视频 | 一级做a爰片久久毛片潮喷动漫 | 人人在线碰碰视频免费 | 伊人久久大香线蕉资源 | 精品手机在线1卡二卡3卡四卡 | 久久国产精品免费A片蜜芽 久久国产精品萌白酱免费 久久国产精品麻豆AV影视 | 99热在线精品免费全部my | 龙岩综合频道 | 色综合伊人色综合网站 | 亚洲AV久久无码精品九号软件 | 国产亚洲福利在线视频 | 大学生宿舍飞机china free | 日本中文字幕伊人成中文字幕 | 啦啦啦WWW在线观看免费高清版 | 色戒床震视频片段 | 337p啪啪人体大胆 | 国产人成高清在线视频99 | 一个人看www | 成人国产在线观看 | 精品手机在线1卡二卡3卡四卡 | nu77亚洲综合日韩精品 | 亚洲视频中文字幕 | 亚洲视频第二页 | 绞尽奶汁by菊花开 | 全部老头和老太XXXXX | 国产www视频 | 在线高清无码欧美久章草 | 日日摸夜夜嗷嗷叫日日拍 | 中文字幕乱码亚洲无线三区 | 日本邪恶少女漫画大全 | 怡春院院日本一区二区久久 | 肉多荤文高h羞耻校园 | 久久99综合国产精品亚洲首页 | 亚洲 自拍 欧洲 视频二区 | 国产看黄网站又黄又爽又色 | 最新果冻传媒在线观看免费版 |