C# 在多个项目中使用相同的数据库生成EF实体
我正在尝试将我的C#WPF应用程序的数据库部分分离开来,这样我就可以在多个项目中使用它,但如果不在某个地方重复代码,我就无法找到如何做到这一点 当前状态:C# 在多个项目中使用相同的数据库生成EF实体,c#,wpf,entity-framework,C#,Wpf,Entity Framework,我正在尝试将我的C#WPF应用程序的数据库部分分离开来,这样我就可以在多个项目中使用它,但如果不在某个地方重复代码,我就无法找到如何做到这一点 当前状态: Windows桌面WPF应用程序,单个解决方案中的单个项目 项目在NuGet中安装了EntityFramework 6.3包 在同一台笔记本电脑上运行的SQL Server Express 数据库直接在SSMS中设计,通过以下过程逆向工程到POCOs:Add->New Item->Data->ADO.NET实体数据模型->首先从数据库编码-
- Windows桌面WPF应用程序,单个解决方案中的单个项目
- 项目在NuGet中安装了EntityFramework 6.3包
- 在同一台笔记本电脑上运行的SQL Server Express
- 数据库直接在
中设计,通过以下过程逆向工程到SSMS
:POCOs
。这将创建一个Add->New Item->Data->ADO.NET实体数据模型->首先从数据库编码->选择连接字符串->选择数据库对象
文件,该文件下面还有一些其他文件,包括一个.edmx
文件,我可以展开该文件以查看所有实体.tt
- 在极少数情况下,当我需要更改数据库时,我会在
中进行更改,然后再次按照上述过程更新应用程序中的对象SSMS
那么,我是否从项目中的数据库创建
实体
,然后将相同的实体
复制到另一个项目中?这感觉像是在复制代码。如果我更改了数据库,我必须在每个项目中分别更新实体。或者我是否制作了一个“entities”
项目,通过“using”
指令从其他两个项目中访问该项目?或者制作一个类库.dll
?我认为后者中的一个会起作用,但我有点不知道如何处理这个问题。或者这需要更深入的重新思考?如果我理解正确
您可以在一个单独的类库中创建模型引用,并将该库用作WPF中的引用或任何您想要的地方,但请记住,连接将发生在程序像wpfApp或webapi一样运行的地方,因此您必须将所有配置设置放在“入口点”中.或者制作一个类库——当然!但这个问题非常广泛。你能用(暂定)代码把它归结为一个编程问题吗?