我正在尝试启动一个需要每个表格的项目。我以前用NHibernate完成了这个,但我们想避免手工编辑XML映射文件 - 所以试图使用Entity Framework和它的Designer。
我一直在网上关注这个例子: http://mosesofegypt.net/post/Inheritance-and-Associations-with-Entity-Framework-Part-1.aspx
尝试从“< Add Table or View>”中选择一个表时下拉列表,我无法选择任何表格,而是列表显示“(空)”。
我从教程中得到的唯一偏差是我没有从示例数据库中生成Person表,据我所知,这应该没有区别(我们希望生成数据库关闭模型,反之亦然)。
不确定表格需要满足哪些条件才有资格添加鉴别器...
答案 0 :(得分:1)
如果需要从模型生成DB,则无法在映射中看到任何表,因为生成数据库时会生成映射和有关表的信息。 EDMX具有相当复杂的结构(比NHibernate的非常简单的hbm文件复杂得多)。复杂性更加严重,因为EDMX没有隐含的东西 - 必须描述所有内容,必须对其进行三次描述。
EDMX由三部分组成:
当您打算使用模型优先(在设计器中绘制实体并生成数据库)时,您只定义CSDL,其他所有内容都是使用SQL为数据库生成的。您可能还需要另一个用于生成数据库的模板/工作流,因为我猜它默认使用Table-per-type继承。检查Database generation power pack - 它应包含TPH的模板。