【发布时间】:2010-07-26 09:31:49
【问题描述】:
我正在处理一个旧数据库,如果可能的话,我不想以任何方式触摸或修改它。 我想构建一个使用它的数据的新应用程序,但尽管有主键和外键链接表,但数据库没有实际关系。
如果我将这些表导入实体框架模型并手动添加关联,我可以使用诸如延迟加载和 linq 之类的东西吗?
非常感谢, 可汗
【问题讨论】:
标签: sql-server linq entity-framework lazy-loading
我正在处理一个旧数据库,如果可能的话,我不想以任何方式触摸或修改它。 我想构建一个使用它的数据的新应用程序,但尽管有主键和外键链接表,但数据库没有实际关系。
如果我将这些表导入实体框架模型并手动添加关联,我可以使用诸如延迟加载和 linq 之类的东西吗?
非常感谢, 可汗
【问题讨论】:
标签: sql-server linq entity-framework lazy-loading
这绝对是可能的。 Entity Framework 只生成包含连接或 where 子句的 SQL 查询,这些查询引用您在概念模型中定义为外键的列。生成的SQL直接由数据库执行。
主键和外键仅在您的数据库中用于参考完整性。作为一个非常简单的测试,您可以直接在数据库中执行一条 SQL 语句,该语句连接两个没有外键关系的相关表。您会看到该查询可以正常工作。当您在模型中正确定义关系时,Entity Framework 的作用完全相同。
【讨论】: