当我在.NET3.5SP1中有两个与FK链接的相关表时,是否不可能让EF创建必要的实体?我看到支持它的复选框在哪里被禁用,但它在.NET4中可用。
我有一个只包含关系表的数据库。我需要构建一个Silverlight应用程序(SL4),允许管理此应用程序中的数据。我不能在服务器上使用.NET4 ...只有.NET3.5SP1所以我不能使用EF4中的FK关系位。希望避免构建尽可能多的管道以尽可能从SL4应用程序返回数据库......
答案 0 :(得分:3)
您是否在项目设置中使用Visual Studio 2010并定位.NET Framework 3.5?
如果是这种情况,我猜“禁用复选框”是指在向导中包含外键列的复选框,用于从数据库创建实体模型。 (这个复选框在VS2008中完全不存在,当在VS2010中以.NET 4.0为目标时,它没有被禁用。因此我的理论是VS2010与.NET 3.5。)
那么,对你来说有一个比较好的消息:这个复选框并不意味着不会从外键约束链接的表中创建任何实体关系。它们也将在Entity Framework 1(.NET 3.5)中创建。您将不会拥有表示外键列的标量实体属性。 (此复选框 - 仅在.NET 4中可用 - 正在检查中,将在模型中包含这些属性。)相反,您始终必须处理实体中引用的对象(检查,如果它们已加载,请手动加载或将它们直接包含在查询中,等等。)
因此,在.NET 3.5中使用Entity模型中的关系时,您的安慰性会降低一些,但外键约束仍然可以正确表示并自动创建。只需让向导运行并浏览生成的实体模型。