为什么DataContext类会创建一个新数据库?

时间:2012-07-10 10:21:34

标签: asp.net asp.net-mvc asp.net-mvc-3

伙计们我是asp .net mvc 3的新蜜蜂。

在MS Visual Web Developer Express 2010中,我使用表单身份验证模板使用Visual C#/ Web / ASP .net MVC 3 Web App创建了一个新项目。我删除了所有控制器和视图文件并添加了我自己的文件。我在sample.mdf文件夹中添加了一个新的App_Data数据库,并相应地更改了连接字符串并创建了国家/地区模型。

但是当我为国家模型创建CRUD控制器时,它会要求我DataContext类。它不接受空,我必须提到DataContext类。当我创建一个DataContext类时,它会创建一个与DataContext类同名的新数据库。它不使用我在web.config文件中指定的数据库。

我希望国家模型数据添加到sample.mdf文件中而不是上下文数据库中。

请帮忙......谢谢。

2 个答案:

答案 0 :(得分:0)

数据上下文类只是一个将模型类映射到数据库中的表的类。在Web配置中,连接字符串名称应与上下文类(datacontext.cs)相同:

<add name="datacontext" connectionString="[connectionstringhere]" />

如果连接字符串指向不存在的SQL CE数据库...运行应用程序时,EF会检测到数据库不存在,并自动从数据上下文类中设置的模型创建它。

答案 1 :(得分:0)

您可以传入连接字符串以在上下文构造函数中使用。这样你就可以使用你想要的任何数据库了。