Visual Studio中的实体框架:数据库不是使用DbContext基本构造函数创建的

jmk22

我是Visual Studio和.NET的新手,我正在按照Lynda上的本教程(使用实体框架进行代码优先的开发)创建ASP.NET MVC应用程序,在该应用程序中我应该能够将Tour对象添加到数据库使用表单。

我创建了一个MyDbContext继承自的类DbContext

我添加了一个基类构造函数,并带有从表单提交信息时需要为此应用创建的数据库的名称。我还添加了一个DbSet名称Tours,用于保存游览对象。

这是MyDBContext.cs中的代码

public class MyDBContext : DbContext
{
    public MyDBContext() : base("ExploreCalifornia")
    {

    }

    public DbSet<Tour> Tours { get; set; }
}

在游览控制器中,我创建一个MyDbContext名为的实例db

private MyDBContext db = new MyDBContext();

我有一个Create页面,其中包含添加新游览的表单,这是此页面的POST路线:

[HttpPost]
public ActionResult Create(Tour tour)
{
    try
    {
        db.Tours.Add(tour);
        db.SaveChanges();

        return RedirectToAction("Index");
    }
    catch
    {
        return View();
    }
}

在调试器之后,当我尝试添加新的游览时,它会跳过该SaveChanges行并直接进入catch块。不会创建任何数据库,并且在解决方案资源管理器中的App_Data下什么也不会显示。

本教程提到将使用SQL Server Express LocalDB创建数据库,但在服务器资源管理器中看不到对LocalDB的任何引用。这仍然是新事物,所以我对如何解决这个问题有些迷茫。

关于可能出什么问题或从哪里开始寻找的任何想法?

弗拉基米尔(Vladimir Svyatski)

问题是,当您将DbContext的构造函数与字符串参数一起使用时,该参数必须为1.来自app.config或web.config形式的连接字符串的名称name=MyConnectionString例如,您的配置包含

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="MyConnectionString" connectionString="your str here" />
  </connectionStrings>
</configuration>

然后你这样声明你的上下文

public class MyDBContext : DbContext
{
    public MyDBContext() : base("name=MyConnectionString")
    {

    }

    public DbSet<Tour> Tours { get; set; }
}

或2.直接连接字符串,像这样

public class MyDBContext : DbContext
{
    public MyDBContext() : base("Server=(local), Database=MyDBName, User=blah-blah...")
    {

    }

    public DbSet<Tour> Tours { get; set; }
}

请注意,如果使用配置文件,则该文件必须位于AppDomain目录中(对于exe,是其文件夹;对于网站,则是站点的bin文件夹)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Visual Studio中的实体框架:数据库不是使用DbContext基本构造函数创建的

来自分类Dev

从Visual Studio数据库项目生成实体框架模型

来自分类Dev

使用C#,WPF,实体框架和Visual Studio 2012不会在数据库中更新数据

来自分类Dev

Visual Studio 2013 Prof中的实体框架6 / Firebird数据库提供程序兼容性问题

来自分类Dev

在 Visual Studio 中制作实体框架 6 模型关闭向导并断开 MYSQL 连接数据库

来自分类Dev

加载实体框架数据库连接后,Visual Studio 正在锁定

来自分类Dev

在Visual Studio中创建基于服务的数据库

来自分类Dev

在Visual Studio 2015中创建代码优先的数据库

来自分类Dev

无法在 Visual Studio 2017 中创建数据库

来自分类Dev

使用Visual Studio访问数据库中的图像

来自分类Dev

在 Visual Studio 2017 中从数据库更新模型后无法识别 DB 实体

来自分类Dev

Visual Studio + Xamarin:创建数据库SQLite

来自分类Dev

我可以在OS X的Visual Studio Code中创建SQL数据库吗?

来自分类Dev

如何在Visual Studio中创建测试数据库?

来自分类Dev

在Microsoft Visual Studio 2017中创建SQL Server Compact Edition数据库文件

来自分类Dev

如何在Visual Studio 2013中创建SQL Server数据库项目?

来自分类Dev

如何在Visual Studio 2015中为SQL Server创建数据库图?

来自分类Dev

创建从 Visual Studio 中的在线 azure 数据库检索信息的跨平台应用程序

来自分类Dev

如何在 Visual Studio 中创建一个已经存在的数据库?

来自分类Dev

如何使用Visual Studio Express 2013基于SQL数据库创建报告

来自分类Dev

在共享位置使用 Visual Studio 创建多用户 SQL Server 数据库

来自分类Dev

Visual Studio实体数据模型向导中未显示“代码优先自数据库”模板

来自分类Dev

在Visual Studio 2013中打开数据库架构

来自分类Dev

如何在Visual Studio中记录数据库项目

来自分类Dev

Visual Studio Online中的数据库集成测试

来自分类Dev

在Visual Studio 2013中编辑数据库

来自分类Dev

在Visual Studio和SSMS中同时打开数据库

来自分类Dev

如何在Visual Studio中连接Oracle数据库

来自分类Dev

可变DataGridView中的Visual Studio查询数据库

Related 相关文章

  1. 1

    Visual Studio中的实体框架:数据库不是使用DbContext基本构造函数创建的

  2. 2

    从Visual Studio数据库项目生成实体框架模型

  3. 3

    使用C#,WPF,实体框架和Visual Studio 2012不会在数据库中更新数据

  4. 4

    Visual Studio 2013 Prof中的实体框架6 / Firebird数据库提供程序兼容性问题

  5. 5

    在 Visual Studio 中制作实体框架 6 模型关闭向导并断开 MYSQL 连接数据库

  6. 6

    加载实体框架数据库连接后,Visual Studio 正在锁定

  7. 7

    在Visual Studio中创建基于服务的数据库

  8. 8

    在Visual Studio 2015中创建代码优先的数据库

  9. 9

    无法在 Visual Studio 2017 中创建数据库

  10. 10

    使用Visual Studio访问数据库中的图像

  11. 11

    在 Visual Studio 2017 中从数据库更新模型后无法识别 DB 实体

  12. 12

    Visual Studio + Xamarin:创建数据库SQLite

  13. 13

    我可以在OS X的Visual Studio Code中创建SQL数据库吗?

  14. 14

    如何在Visual Studio中创建测试数据库?

  15. 15

    在Microsoft Visual Studio 2017中创建SQL Server Compact Edition数据库文件

  16. 16

    如何在Visual Studio 2013中创建SQL Server数据库项目?

  17. 17

    如何在Visual Studio 2015中为SQL Server创建数据库图?

  18. 18

    创建从 Visual Studio 中的在线 azure 数据库检索信息的跨平台应用程序

  19. 19

    如何在 Visual Studio 中创建一个已经存在的数据库?

  20. 20

    如何使用Visual Studio Express 2013基于SQL数据库创建报告

  21. 21

    在共享位置使用 Visual Studio 创建多用户 SQL Server 数据库

  22. 22

    Visual Studio实体数据模型向导中未显示“代码优先自数据库”模板

  23. 23

    在Visual Studio 2013中打开数据库架构

  24. 24

    如何在Visual Studio中记录数据库项目

  25. 25

    Visual Studio Online中的数据库集成测试

  26. 26

    在Visual Studio 2013中编辑数据库

  27. 27

    在Visual Studio和SSMS中同时打开数据库

  28. 28

    如何在Visual Studio中连接Oracle数据库

  29. 29

    可变DataGridView中的Visual Studio查询数据库

热门标签

归档