3

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

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

编辑:删除 edm 设计师的违规表格后,将所有作品重新添加到其中。几乎不是一个长期的解决方案。还有其他人遇到类似的问题吗?

4

1 回答 1

2

我使用了以下解决方法:

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

Step 2... Link The Projects 在应用程序项目中,添加对datalayer项目的项目引用,(references - add reference - project-Tab)

步骤 3... 在部分类中创建一个属性 在数据层项目中: - 如果您使用的是本地数据库,请添加数据库文件 - 添加新的 Linq to SQL 类项(.dbml 文件) - 将所需的表添加到来自服务器资源管理器的设计器表 - 右键单击​​设计器中的一个类并选择“查看代码” - 您将被带到一个已完成部分类信息的文件。- 将部分类公开 - 创建一个测试属性,例如:public string TEST { get{return "TEST";} } - 构建数据层项目 - 您现在已经向您的设计器构建类之一的部分类添加了一个属性。 ..

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

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

全部做完

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

加上它还不错..为您的数据层有一个单独的项目使其可在项目之间重用..:D

希望它适用于某人......

于 2010-04-12T04:23:56.517 回答