我理解微型ORM系统的基本原理,例如海量和精巧型,但是我很难理解如何用关系建模表。从NHibernate切换到Massive或Dapper
即:
类别1 --- M产品
在我的NHibernate的,或LINQ2SQL解决方案,类别有一个列表属性。似乎没有任何关于如何建立这种关系的例子。特别是在linq中,我们可以选择具有特定名称的产品类别。
我理解微型ORM系统的基本原理,例如海量和精巧型,但是我很难理解如何用关系建模表。从NHibernate切换到Massive或Dapper
即:
类别1 --- M产品
在我的NHibernate的,或LINQ2SQL解决方案,类别有一个列表属性。似乎没有任何关于如何建立这种关系的例子。特别是在linq中,我们可以选择具有特定名称的产品类别。
您可以使用'splitOn'。请参阅示例http://www.tritac.com/bp-24-dapper-net-by-example
如果您正在考虑从任何传统ORM转换。我坚持认为你必须观看Rob Conery发布的video。
而且您对有关域对象具有另一个域对象集合作为其属性的问题表示担心。这不会是一个问题。只是一件事就是你这次把你的自我反对的那个域名的价值。
喜欢这里
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
我希望这会给你的答案。如果你需要工作代码,请让我知道。
在dapper的情况下,项目主页给出了多映射(基本上,使用宽单结果休息)和多个结果集的例子。你尝试过这些吗? http://code.google.com/p/dapper-dot-net/ – 2012-02-05 19:16:13
另外,请务必阅读http://stackoverflow.com/tags/dapper/info ...如果您发现有任何信息缺失,编辑标题和我将填补空白 – 2012-02-05 22:25:07