从解决方案中的另一个项目访问ASP.NET网站中的LocalDB

时间:2014-03-14 10:22:46

标签: asp.net-mvc entity-framework console-application localdb

我有一个使用EF,LocalDB和Code First Migrations的asp.net mvc 5网站。现在的要求已经规定我需要在混合中添加一个控制台应用程序来完成一些预定的工作。但是,此控制台应用程序必须调用Web应用程序中公开的数据库功能。另外值得注意的是,我们正在使用LocalDB进行开发,但将切换到“适当的”远程数据库进行生产。

因此我在项目中创建了一个新的控制台应用程序,并添加了对Web应用程序的引用,以便我可以调用其存储库函数。我知道这可能不是处理事情的最好方法。

无论出于何种原因,当从控制台应用程序中调用数据库上下文的Save Changes时,不会将任何内容保存到LocalDB数据库。 Save函数返回一个数字,表示插入了多行。

我觉得我在某处犯了小学生的错误。它可能是什么?

2 个答案:

答案 0 :(得分:0)

我过去曾用过这个:

<add name="DefaultConnection" 
connectionString="Server=(localdb)\v11.0;Database=WebPortalDb" providerName="System.Data.SqlClient"/> 

答案 1 :(得分:0)

如果要将功能/数据库从一个项目用于另一个项目,请使用以下::

1) Include the 'ConsoleProjectName.dll' file into your 'MVC' project's reference

2) Use that Dll into the namespace of your file.

(例如,使用System.Data.Entity)  就像你必须将DLL用于命名空间一样。

3) make an object of the 'console' application's class and use the methods & other properties defined in that class.

可能这么多信息对您有所帮助。 我们正在为n-tired架构做些什么,在解决方案中有不同的层(即项目)彼此链接。