当前位置: 首页 > 面试题库 >

从对象,实体框架自动创建数据库表

雍志文
2023-03-14
问题内容

我正在尝试执行本教程http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-
mvc3/getting-started-with-
mvc3-part4-cs,

但不是使用精简版的SQL
Server我在本地计算机上使用完整安装。我阅读本教程的方式是,实体框架是根据我定义的对象创建表的。我的问题是,在运行项目时,我总是得到无效的对象名称dbo.movi​​es。我终于通过自己创建表来运行它,因此我知道了连接字符串,并且一切都正确。

我的问题是,是否可以从用C#创建的对象生成表,如果可以,怎么办?


问题答案:

是否可以从用C#创建的html" target="_blank">对象生成表?

对的,这是可能的。在运行代码之前,您是否碰巧在Management Studio中手动创建了数据库?那可能是你的问题。使用Code
First,默认约定是创建尚不存在的数据库。如果数据库已经存在(甚至没有表),那么它将仅使用现有数据库(但不会尝试创建表)。

您可以删除数据库,然后再次尝试运行代码以查看它是否会为您创建数据库,或者将以下行放入Global.asax中:

Database.SetInitializer(new DropCreateDatabaseAlways<YourDbContextHere>());

一旦运行,我建议将该行更改为:

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourDbContextHere>());

这些名称空间在 System.Data.Entity

所述DbContext类还公开它定义了以下有用的方法数据库属性:

Delete()
Create()
CreateIfNotExists()

因此,如果您这样定义类:

public class MyContext : DbContext {}

您可以像这样构造一个实例:

MyContext db = new MyContext();
db.Database.Delete();
db.Database.Create();


 类似资料:
  • 我正在使用从数据库中获取一些数据。如果我使用,我的resultset是一个类的列表,这是需要的。 如果我没有获取整行内容,我如何让自动创建实体?

  • 本文向大家介绍C#实现根据实体类自动创建数据库表,包括了C#实现根据实体类自动创建数据库表的使用技巧和注意事项,需要的朋友参考一下 .Net新手通常容易把属性(Property)跟特性(Attribute)搞混,其实这是两种不同的东西 属性指的类中封装的数据字段;而特性是对类、字段、方法和属性等元素标注的声明性信息 如下代码(Id、Name为User的属性,[DbKey]为Id的特性) 特性分预定

  • 问题内容: 我终于从包含许多json对象的文件中获得了我需要的数据输出,但是当它在数据中循环时,我需要一些帮助将以下输出转换为单个数据帧。这是产生输出的代码,包括输出外观的示例: 原始数据: 运行上面的命令时,我将获得示例输出,我希望将其存储为3列的pandas数据框中。 因此,以下代码似乎更接近,因为如果我在列表中传递并转置df,它会给我一个时髦的df。关于如何正确调整此形状的任何想法吗? 数据

  • 问题内容: 我希望将动态连接字符串传递给实体框架上下文。我有150多个相同的模式(每个帐户一个),我想这样选择连接: 从理论上讲,这很容易,因为我可以创建一个connectionString并将其作为构造函数的参数传递,例如: 仅传递连接字符串名称时,我可以成功连接,但如下所示动态生成时,则不能成功。我现在意识到这是因为web.config中的连接字符串具有属性。 但是,当我将实际的连接字符串动态

  • 我正在尝试初始化一个没有任何行的Data.Frame。基本上,我希望为每个列指定数据类型并命名它们,但不因此创建任何行。 到目前为止,我所能做的最好的事情是: 它创建了一个data.Frame,其中有一行包含我想要的所有数据类型和列名,但也创建了一个需要删除的无用行。 有没有更好的办法做到这一点?

  • 我曾想过简单地对数据库运行一个小命令并捕获任何异常,然而,如果出现问题(例如app.config丢失或数据库服务器关闭),应用程序将花费大量时间运行此代码,然后抛出异常(大约1分钟)。我想这是由于连接超时等,但我已经摆弄了这样的属性没有任何作用。 有没有人能提供任何关于去哪里的建议?