首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate与confORM的映射

NHibernate与confORM的映射
EN

Stack Overflow用户
提问于 2011-10-28 12:37:50
回答 1查看 405关注 0票数 2

我有两门课(简略地总结):

代码语言:javascript
复制
public class Product : Entity<Guid>
{      
    ...    
    public virtual IList<Ingredient> Ingredients { get; set; }          
    public Product(){Ingredients = new List<Ingredient>();}    
}

代码语言:javascript
复制
public partial class Ingredient : Entity<int>
{
    ...
    public virtual IList<Product> Products { get; set; }
    public Ingredient(){Products = new List<Product>();}
}

他们有ManyToMany关系,我想做的是:

  • 如果我删除了一个成分,产品就不会被删除,而是只删除他列表中的成分。
  • ,如果我删除一个产品,所有的成分都没有被删除。

我做了这张地图,但我不能让它起作用。

代码语言:javascript
复制
orm.ManyToMany<Product, Ingredient>();
orm.Cascade<Product, Ingredient>(CascadeOn.DeleteOrphans);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-03 22:34:06

终于,我明白了。为了帮助更多的人,我可以这样解决这个问题:

代码语言:javascript
复制
        orm = new ObjectRelationalMapper();
        mapper = new Mapper(orm);
        //...

        mapper.Class<Ingredient>(c =>
        {
           /* ...[MAP OTHERS PROPERTY]...*/
           // Many to many relationship in One side
            c.Bag(p => p.Products, pm => pm.Inverse(false), rel => rel.ManyToMany());
        });

       // Many to many relationship in other side
       orm.ManyToMany<Product, Ingredient>();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7929348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档