Sql server EF5如何添加缺少的关系
嗨,我已经定义了一个数据库第一个EF5模型。 我的用户表具有主键guid UserGUID 和另一个具有自动递增整数的关键字段UserID。 我创建了一个名为UserCustomField的表,该表 UserID和我已经在我的用户表中为UserID创建了一个外键约束 当我从数据库更新模型时,所有外键与主键的关系都会生成,但与键字段的关系不会生成。忽略有关在“我的所有表”中使用guid的潜在点。。。。。 A/EF不应该添加此关系吗? B/我如何手动添加它 干杯 蒂姆:没有。 B:你不能 EF只能在关系指向主键时使用关系,因此可以将Sql server EF5如何添加缺少的关系,sql-server,asp.net-mvc,entity-framework,Sql Server,Asp.net Mvc,Entity Framework,嗨,我已经定义了一个数据库第一个EF5模型。 我的用户表具有主键guid UserGUID 和另一个具有自动递增整数的关键字段UserID。 我创建了一个名为UserCustomField的表,该表 UserID和我已经在我的用户表中为UserID创建了一个外键约束 当我从数据库更新模型时,所有外键与主键的关系都会生成,但与键字段的关系不会生成。忽略有关在“我的所有表”中使用guid的潜在点。。。。。 A/EF不应该添加此关系吗? B/我如何手动添加它 干杯 蒂姆:没有。 B:你不能 EF只能在
User
表更改为使用UserID
作为主键,并删除UserGuid
或将UserCustomField
表更改为指向User
表中的UserID
它不起作用的原因是,您的数据库要求将
User
表中的UserID
标记为唯一(这意味着唯一约束),并且EF还不支持唯一约束。我是否不可能将自己的属性至少添加到用户对象中,这样我就可以执行foreach的等效操作(myUser.UserCustomerFields()中的UserCustomField项)如果您不修改您的模型以在EDMX中创建关系,您将不得不在新属性后面隐藏您自己的Linq查询和手动连接。这将使您的用户实体依赖于EF的上下文实例。抱歉,Ladislav,我无法了解您在评论中传达的内容。您是说这不可取吗?我看不到明显的p在我的用户对象上添加方法或属性,因为EF似乎填充了不了解上下文的类。