public void ComponentMappingDemo()
{
//show how " /> 37大但人文艺术A级都市天气,亚洲乱码国产乱码精品精98,爱穿丝袜的麻麻3d漫画acg

天天躁日日躁狠狠躁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视频偷窥在线精品国自产拍 | 伊人久久大香线蕉综合色啪 | 超大BBWWW| 韩国甜性涩爱 | 欧美日韩亚洲成人 | 伦理片在线线手机版韩国免费观看 | 国产精品一区二区AV交换 | 国产永久免费观看视频软件 | 理论片午午伦夜理片I | 久久久久久88色偷偷 | 日韩精品免费一区二区 | 窝窝影院午夜看片毛片 | 泡妞高手在都市完整版视频免费 | 亚洲高清视频在线 | 久久九九久精品国产尤物 | 动漫H片在线播放免费高清 动漫AV纯肉无码AV电影网 | 高清AV熟女一区 | 少妇内射视频播放舔大片 | 国产精品色无码AV在线观看 | 精品三级在线观看 | 网红主播 国产精品 开放90后 | 女人把腿张开叫男人桶免费视频 | 天天操狠狠操夜夜操 | 青青青久草 | 老汉老太bbbbbxxxxx | 99久免费精品视频在线观看2 | 97SE亚洲国产综合自在线不卡 | 男人大臿蕉香蕉大视频 | 男女肉大捧进出全过程免费 | xx顶级欧美熟妞xxhd | 无人区大片中文字幕在线 | 久久99热这里只有精品66 | 奶大B紧17p | 97视频久久| 国产午夜电影在线观看不卡 | 一品道门在线观看免费视频 | 毛片网站视频 | 久久婷婷久久一区二区三区 | 在线 | 果冻国产传媒61国产免费 | 大地影院日本韩国电影免费观看 |