2011-07-15 54 views

回答

1

你当然可以在一个单独的项目中创建edmx,但我认为你不能将这些类分离为多于生成的默认文件。请注意,您不应该尝试编辑生成的类,因为这些类在更新时会被覆盖,并且您也可以轻松地破解它们。

你可以,但是,创建具有相同的命名空间和类声明为每一个实体对象的public partial class,让你扩展的类,添加初始化/验证功能等让你把每一个实体在其自己的类文件进行扩展。

更新时间:

所有相关的部分类,必须在同一程序,需要使用相同的命名空间和类声明作为<EntityModel>.Designer.cs原始实体partial class。请参阅下面的示例代码。

namespace YourEntityNamespace 
{ 
    public partial class YourEntity : EntityObject 
    { 
     // Add methods and properties to extend the entity class 
    } 
} 
+0

你能告诉我如何生成这些部分类?一个示例语法? ,这些类可以放在单独的程序集中吗? – Riz

+0

@eFriend,已更新以显示示例部分类。 –

1
  1. 没有(默认的.edmx发生器内),因为VS的定制工具类型的IVsSingleFileGenerator并且只能产生一个文件。
  2. 是的,但您需要自定义对象层代码生成。阅读here。有一个link显示如何分离模型和项目之间生成的类。

@Chris,部分类不能在组件之间拆分。这里有很多问题/答案。

+0

更新了我的帖子。快速谷歌http://msdn.microsoft.com/en-us/library/wa80x488%28v=vs.80%29.aspx显示这种限制是正确的。 –

+0

我部分错了。看起来生成的类可以移动到另一个程序集。更新了帖子。 – Vertigo

相关问题