下面两个教程 主要区别是一个教程的上下文写了一堆 一个只是简单地写
今天有个程序员告诉我简单写那个是错误的写法,想问问是这样的吗?
http://www.cnblogs.com/wlflovenet/archive/2011/07/24/EFandMvc2.html
完全不写 只写类似简单的那种上下文可以吗?
public class MovieDBContext : DbContext
{
public DbSet<movie> Movies { get; set; }
}
只单纯这样写可以的吗?
我本来有按照简单的方法写,建不了数据库,经过这位程序员+上复杂的那一堆,确实可以建立了,想问问,那岂不是简单的那种的做法是错误的?
可以的,可以建立数据库,要生成一下的,另外就是注意Webconfig中的配置,ConnectionStrings 一般写好了就可以生成了.
EF 4.1我是没有这样使用过.~即使在学习环境,而非生产环境.~我也没有这样使用过~~
第1点.先抛开EF4.1的问题~~即使你用原始的ADO.NET去连接数据库~你也得告知SqlConnection的连接字符串~何况EF4.1!
第2点.在者~你这样的定义方式
public class MovieDBContext : DbContext
{
public DbSet<movie> Movies { get; set; }
}
B.也完全没有编写任何的Fluent API.~
C. 即使要学习也请一定要严谨.多多地去了解一下EF 4.1的配置问题.
D.创建数据库可以用DbContext.Database.Create(), DbContext.Database.CreateIfNotExists()这两个方法.
publicclass MovieDBContext : DbContext
{
public DbSet<movie> Movies { get; set; }
}
这样写是完全可以的,你疑惑的是他都没指定过数据库和字符串连接吧,因为他在Webconfig中配置好了,代码如下
<connectionStrings>
<add name="MovieDBContext"
connectionString="database=数据库名,然后是集成登录或.."
providerName="System.Data.SqlserverC4.4.0 \\为SQL数据库
他就会知道到SQL数据库找寻有没有此数据库,没有就帮你创建一个,你觉得他神奇,其实跟你写代码是一样的,不过他封装了而已
支持,我就是这样写的 完成可以