首页 新闻 会员 周边

找不到entity-framework生成的数据库

0
悬赏园豆:10 [已关闭问题] 关闭于 2013-12-18 18:29

我的开发平台vs2010+mvc4.0+sqlserver2008

<add name="MovieDBContext" connectionString="Data Source=GZ;Integrated Security=True;" providerName="System.Data.SqlClient" />

用entity-framework 生成了一个数据库

现在要修改那个数据库了,但在app_data,服务器资源管理器中都没有找到数据库文件

它究竟跑到哪里了

生活还是要继续的主页 生活还是要继续 | 初学一级 | 园豆:10
提问于:2013-12-15 17:59
< >
分享
所有回答(3)
0

这个问题肯定是你用EF 创建数据库时出了问题。

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

上面的代码就可以创建你需要的数据库,最好是你在Controllers 里面写点代码,和你的实体有关的

重新 运行,数据库是会被创建的。

hslgmq | 园豆:29 (初学一级) | 2013-12-15 20:25

现在我自已做这个项目基本的一些操作新建,查找,删除,修改都可以操作了

结果我想去看看这个数据库,就是找不到在哪里里

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2013-12-16 22:09

@生活还是要继续: 可不可以给点你控制器里写的代码。。。就是你的首页,显示数据的控制器里的操作(action)

支持(0) 反对(0) hslgmq | 园豆:29 (初学一级) | 2013-12-16 22:13

我也是刚在学习,都是按别人的搬迁过来的

public ActionResult Index()
        {
            return View(db.Movies.ToList());
        }

        //
        // GET: /Movies/Details/5

        public ActionResult Details(int id = 0)
        {
            Movie movie = db.Movies.Find(id);
            if (movie == null)
            {
                return HttpNotFound();
            }
            return View(movie);
        }

        //
        // GET: /Movies/Create

        public ActionResult Create()
        {
            return View();
        }

        //
        // POST: /Movies/Create

        [HttpPost]
        public ActionResult Create(Movie movie)
        {
            if (ModelState.IsValid)
            {
                db.Movies.Add(movie);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(movie);
        }

        //
        // GET: /Movies/Edit/5

        public ActionResult Edit(int id = 0)
        {
            Movie movie = db.Movies.Find(id);
            if (movie == null)
            {
                return HttpNotFound();
            }
            return View(movie);
        }

        //
        // POST: /Movies/Edit/5

        [HttpPost]
        public ActionResult Edit(Movie movie)
        {
            if (ModelState.IsValid)
            {
                db.Entry(movie).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(movie);
        }

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2013-12-16 22:18

@生活还是要继续: 

var movies = from m in db.Movies

(这里可以加上条件 比如 where,也可以不写,直接接上后面这句。)

select m;

 return View(movies.ToList());

你再试试,让后运行

支持(0) 反对(0) hslgmq | 园豆:29 (初学一级) | 2013-12-16 22:23

现在是可以操作

我是想看看EF创建了什么数据库

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2013-12-16 22:29

@生活还是要继续: 是你配置文件里你写的数据库名字

支持(0) 反对(0) hslgmq | 园豆:29 (初学一级) | 2013-12-16 22:30

好的,谢谢,这连接里没有写数据库名字,

<add name="MovieDBContext" connectionString="Data Source=GZ;Integrated Security=True;" providerName="System.Data.SqlClient" />

只有一个GZ服务器

呵呵。。。现在也发现一个错误,我以后不是在GZ服务器找的

我现在里面找下

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2013-12-16 22:35
0

按照你的链接字符串,在Data Source=GZ,你用企业管理器连接上就可以见到了。这个数据库本来也不会在app_data之类的目录下。

ocean | 园豆:824 (小虾三级) | 2013-12-16 15:35

现在是可以操作

好的,我去看看,谢谢你,这个我忽略了

支持(0) 反对(0) 生活还是要继续 | 园豆:10 (初学一级) | 2013-12-16 22:30
0

<add name="MovieDBContext" connectionString="Data Source=GZ;Integrated Security=True;" providerName="System.Data.SqlClient" />

在这里指定数据库就可以,开始我是没有指定的,

<add name="MovieDBContext" connectionString="Data Source=GZ;Database=databaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />

当然没有指定也可以的

这里是别人写的可以看看

http://www.cnblogs.com/Gyoung/archive/2013/01/28/2876845.html

生活还是要继续 | 园豆:10 (初学一级) | 2013-12-18 18:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册