部分类中的属性未出现在“数据源”窗口中!

时间:2008-11-05 01:04:03

标签: .net entity-framework partial-classes

实体框架已创建所需的部分类。我可以将这些部分类添加到“数据源”窗口,并按预期显示属性。但是,如果我在单独的源文件中扩展任何类,即使在构建和刷新之后,这些属性也不会出现在“数据源”窗口中。

源文件中部分类中的所有属性在“数据源”窗口中按预期工作,除非使用EF创建了部分类。

编辑:删除edm设计器的违规表后,添加回来的所有工作都是预期的。几乎没有长期解决方案。其他人遇到过类似的问题吗?

1 个答案:

答案 0 :(得分:2)

我使用了以下工作:

第1步...创建所需项目 在您的解决方案中创建两个项目 1 - 应用程序项目(因此您正在使用的应用程序,例如Windows窗体应用程序) 2 - 数据层项目(类库项目,将DLL作为构建输出的项目)

第2步...链接项目 在应用程序项目中,向数据层项目添加项目引用(引用 - 添加引用 - 项目选项卡)

步骤3 ...在分部类中创建属性 在datalayer项目中: - 如果您使用的是本地数据库,请添加数据库文件 - 添加一个新的Linq到SQL类项(.dbml文件) - 从服务器资源管理器中将所需的表添加到Designer表 - 右键单击​​设计器中的一个类,然后选择“查看代码” - 您将被带到已完成部分班级信息的文件中。 - 使部分类公开 - 创建一个测试属性,例如:    公共字符串测试    {        得到{return“TEST”;}    } - 构建数据层项目 - 您现在已将属性添加到您的一个设计器构建类的部分类中...

第4步 - 添加数据源 - 在你的应用程序项目中 - 转到数据源选项卡并添加一个新的对象数据源,选择你添加了部分类属性的类。

  • 您应该在数据源视图中看到TEST属性...

全部完成

我认为它的工作原理是因为.dbml文件和部分类在一个单独的项目中并通过应用程序项目中的DLL访问..强制Visual Studio编译并使应用程序项目中的所有内容都可用...相反到一个dll和单独的临时文件,当一切都在一个项目中时,似乎会发生这种情况,将部分类属性从数据源列表中删除..

加上它并不太糟糕..为您的数据层创建一个单独的项目使它可以在项目之间重复使用..:D

希望它对某人有用......