首页 新闻 搜索 专区 学院

关于ef4.1 codefirst的上下文应该怎么写才是正确的?

0
悬赏园豆:10 [待解决问题]

下面两个教程 主要区别是一个教程的上下文写了一堆 一个只是简单地写

今天有个程序员告诉我简单写那个是错误的写法,想问问是这样的吗?

http://www.cnblogs.com/wlflovenet/archive/2011/07/24/EFandMvc2.html

http://kb.cnblogs.com/page/100216/

问题补充:

完全不写 只写类似简单的那种上下文可以吗?

public class MovieDBContext : DbContext
    {
       
public DbSet<movie> Movies { get; set; }
    }

只单纯这样写可以的吗?

我本来有按照简单的方法写,建不了数据库,经过这位程序员+上复杂的那一堆,确实可以建立了,想问问,那岂不是简单的那种的做法是错误的?

tytang的主页 tytang | 初学一级 | 园豆:110
提问于:2011-08-03 23:12
< >
分享
所有回答(3)
0

可以的,可以建立数据库,要生成一下的,另外就是注意Webconfig中的配置,ConnectionStrings 一般写好了就可以生成了.

wenthink | 园豆:417 (菜鸟二级) | 2011-08-04 22:03
0

EF 4.1我是没有这样使用过.~即使在学习环境,而非生产环境.~我也没有这样使用过~~

 

第1点.先抛开EF4.1的问题~~即使你用原始的ADO.NET去连接数据库~你也得告知SqlConnection的连接字符串~何况EF4.1!

第2点.在者~你这样的定义方式

public class MovieDBContext : DbContext
{
public DbSet<movie> Movies { get; set; }
}
A.完全没有告诉EF 4.1改用连接字符串中的那一个配置节点

B.也完全没有编写任何的Fluent API.~

C. 即使要学习也请一定要严谨.多多地去了解一下EF 4.1的配置问题.

D.创建数据库可以用DbContext.Database.Create(), DbContext.Database.CreateIfNotExists()这两个方法.

dotNetDR_ | 园豆:2058 (老鸟四级) | 2011-08-05 12:39
0

publicclass MovieDBContext : DbContext
    {
       
public DbSet<movie> Movies { get; set; }
    }
这样写是完全可以的,你疑惑的是他都没指定过数据库和字符串连接吧,因为他在Webconfig中配置好了,代码如下

<connectionStrings>

<add name="MovieDBContext"

        connectionString="database=数据库名,然后是集成登录或.."

        providerName="System.Data.SqlserverC4.4.0 \\为SQL数据库

他就会知道到SQL数据库找寻有没有此数据库,没有就帮你创建一个,你觉得他神奇,其实跟你写代码是一样的,不过他封装了而已

命若天定-破天 | 园豆:1 (初学一级) | 2012-02-28 08:45

支持,我就是这样写的 完成可以

支持(0) 反对(0) KuBiCoder | 园豆:2 (初学一级) | 2013-02-28 23:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册