实体框架已创建所需的部分类。我可以将这些部分类添加到“数据源”窗口,并按预期显示属性。但是,如果我在单独的源文件中扩展任何类,即使在构建和刷新之后,这些属性也不会出现在“数据源”窗口中。
源文件中部分类中的所有属性在“数据源”窗口中按预期工作,除非使用EF创建了部分类。
编辑:删除edm设计器的违规表后,添加回来的所有工作都是预期的。几乎没有长期解决方案。其他人遇到过类似的问题吗?
答案 0 :(得分:2)
我使用了以下工作:
第1步...创建所需项目 在您的解决方案中创建两个项目 1 - 应用程序项目(因此您正在使用的应用程序,例如Windows窗体应用程序) 2 - 数据层项目(类库项目,将DLL作为构建输出的项目)
第2步...链接项目 在应用程序项目中,向数据层项目添加项目引用(引用 - 添加引用 - 项目选项卡)
步骤3 ...在分部类中创建属性 在datalayer项目中: - 如果您使用的是本地数据库,请添加数据库文件 - 添加一个新的Linq到SQL类项(.dbml文件) - 从服务器资源管理器中将所需的表添加到Designer表 - 右键单击设计器中的一个类,然后选择“查看代码” - 您将被带到已完成部分班级信息的文件中。 - 使部分类公开 - 创建一个测试属性,例如: 公共字符串测试 { 得到{return“TEST”;} } - 构建数据层项目 - 您现在已将属性添加到您的一个设计器构建类的部分类中...
第4步 - 添加数据源 - 在你的应用程序项目中 - 转到数据源选项卡并添加一个新的对象数据源,选择你添加了部分类属性的类。
全部完成
我认为它的工作原理是因为.dbml文件和部分类在一个单独的项目中并通过应用程序项目中的DLL访问..强制Visual Studio编译并使应用程序项目中的所有内容都可用...相反到一个dll和单独的临时文件,当一切都在一个项目中时,似乎会发生这种情况,将部分类属性从数据源列表中删除..
加上它并不太糟糕..为您的数据层创建一个单独的项目使它可以在项目之间重复使用..:D
希望它对某人有用......