从NHibernate切换到Massive或Dapper

时间:2012-02-05 18:12:57

标签: c# dapper massive

我理解微观orm系统的基本原理,如大规模和精巧,但我正在努力理解如何用关系建模表。

即:

第1类--- M产品

在我的NHibernate或Linq2SQL解决方案中,Category有一个List属性。似乎没有任何关于如何建模这种关系的例子。特别是在linq中,我们可以选择具有特定名称的产品的类别。

2 个答案:

答案 0 :(得分:1)

如果你想从任何传统的ORM转移。我坚持你必须看看Rob Conery发布的这个video

您所关注的问题是关于Domain Objects将另一个域对象集合作为其属性。这不是问题。只是一件事情,这次你将自己的价值观置于自己的对象之下。

喜欢这里

Class Person
{
   public String FirstName{get;set;}
   public String LastName {get;set;}
   public IEnumarable<Address> {get;set;}
}

Class Address
{
   public String Address1 {get;set;}
   public String Address2 {get;set;}
}

Dynamic personData = new DynamicModel("connectionString","TableName","PrimaryKey");

var resultPerson = personData.All(where: "where condition") 
or 
var resultPerson = personData.Query("Join query will be here")

//Map resultPerson with PersonObject and return Person
//Still this will be faster than EF as per benchmark shown on Dapper page

我希望这会给你答案。如果您需要工作代码,请告诉我。

答案 1 :(得分:0)

您可以使用'splitOn'。请参阅示例http://www.tritac.com/bp-24-dapper-net-by-example