我正在设计一个使用实体框架连接到MS SQL Server数据库的WPF应用程序。如何通过网络访问WPF桌面应用程序
应用程序从Excel文件读取数据并将记录保存到数据库。现在,下一个要求是,应用程序应该可以同时访问多个用户(公司网络),以便所有用户都可以在数据库中查看数据并在需要时查询/更新。
我在想的是,我只需要将数据库放在应该在公司内部网络上的中央机器上,我的应用程序应该连接到该数据库并允许用户执行操作。
我需要对当前连接字符串进行哪些更改?
<connectionStrings>
<add name="TPMSContext" connectionString="metadata=res://*/TPMSModel.csdl|res://*/TPMSModel.ssdl|res://*/TPMSModel.msl;provider=System.Data.SqlClient;provider connection string="data source=Test-DELL;initial catalog=TPMS;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
什么是我需要实现/记住我的应用程序,为多个用户同时工作的其他变化?
P.S:我的应用程序是“ANY CPU”,目标框架为4.5。现在它的基于桌面的,但在未来我们可能使它基于网络,但现在我们只是希望它是基于桌面的。请帮忙。
更新
谢谢老兄了详细解释。我有个问题。 WCF在这里的作用是什么?它会做什么? 我最初的想法是,如果我可以将我的数据库放在服务器机器上并稍微更改连接字符串以便它引用来自该服务器的数据库,那么这是行不通的吗?这种情况下会出现什么问题?请详细说明 – WAQ
基本上,WCF在服务器上提供API和主机服务。它将与您的数据库进行交互。其他机器可以从该服务器使用已部署的服务。在你的情况下,它会起作用。但是,这不是2层架构。 –
我更新了我的问题,并添加了描述数据和实体dll的解决方案资源管理器的快照。 TPMS.Data基本上包含与数据库交互的edmx和类。 TPMS.Entites包含数据库表作为类/实体。 所以我将这个转换成三层架构,我会怎么做呢?如果我创建了一个WCF服务,在服务中添加实体框架模型(这基本上意味着我的TPMS.Data将会分解到WCF服务中,然后像上面提到的那样创建一个代理类并编写我的应用程序,这是否是正确的方法或者不是? – WAQ