我有一个有趣的问题,并希望看看是否有其他人看过这个。我使用Visual Studio 2010 beta 2创建了一个MVC 2站点。我正在使用linq来使用带有数据注释的sql数据模型对象。
在我的数据模型对象中,当我使用EditorForModel方法时,我正在使用[ScaffoldColumn(false)]属性来排除外键ID从呈现到UI。由于某种原因,UI正在呈现外键表名称。
e.g。如果外键是AccountID,我会看到“帐户”。
我想知道这是否是编辑器模型中的错误,或者我是否需要使用不同/附加的数据注释属性来指示editorformodel不呈现任何内容。
答案 0 :(得分:1)
You Linq to SQL类将具有外键本身的属性(AccountID)以及Accounts表中相关记录的EntitySet属性。如果在linq下打开自动生成的designer.cs文件到sql dbml - 您可以查看每个类的所有属性。我认为默认情况下,模板化助手只应为第一级属性生成编辑器。有一个“深度”选项,可以将生成的编辑器扩展到更多级别的属性。查看主题Brad Wilson's blog(靠近帖子的末尾)。
通常,尝试将自动生成的Linq to SQL类放入View中或使用属性注释它们会变得非常毛茸茸。可能值得查看strongly typed view models,您只能指定您有兴趣在视图中显示的属性。