如何在没有定义关系的情况下将Entity Framework与数据库一起使用

时间:2017-01-17 07:34:57

标签: entity-framework

我是EF的新手,请耐心等待。我正在使用Entity Framework和现有的数据库,其中没有定义关系。

使用EF,我能够生成模型,但显然是导航属性'不工作。有没有办法可以指定实体之间的映射?

例如,在我的Product实体中,我有一个字段CategoryID_fk(映射到Category实体)。但由于未定义关系,因此在加载Category实体时无法加载Product

有人可以在这方面指导我吗?

我确实理解重构我们的数据库会更好,但我现在无法做到这一点。提前谢谢。

2 个答案:

答案 0 :(得分:0)

此链接非常有用。http://www.entityframeworktutorial.net/
我认为字段名称不适合约定。尝试将字段名称更改为CategoryId或Category_CategoryId。我认为它将起作用

答案 1 :(得分:0)

是的,您可以进行群组加入。基本上,您将在单独的查询中检索ProductsCategory,并采用as indicated in this answer方法。

这些方面的东西:

var productCategoryList = products.GroupJoin
                            ( 
                                 categories,
                                 p=> p.productId,
                                 c=> c.CategoryId,
                                 (p, c) => new ProductCategory
                                 {
                                     //Create your Product Category model here
                                 }
                            ).AsEnumerable();