3.2.2 创建数据上下文类


1. 设置数据上下文类的名字与web.config中的连接字符串名字一致

<connectionStrings>
    <add name="TestContext" providerName="System.Data.SqlClient" 
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=TestContext;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\TestContext.mdf" /> </connectionStrings>

在以上链接字符串中,通常保持“name”、“Initial Catalog”和“AttachDBFilename”三个名字一致。其中name为服务器连接中数据连接的名字,Initial Catalog为localdb数据库服务器上的数据库名字,AttachDBFilename为App_Data文件夹下的数据文件名字。

2. 在数据上下文类中指定所采用的连接字符串

在第2章使用支架添加控制器时,vs会自动帮我们创建数据上下文类,它在EF Code First开发模式下非常重要,主要用来追踪与识别对象的变更追踪。少了这个类别,Entity Framework就完全无法运作。

自动添加的数据上下文类代码如下。

    public class MvcGuestbookContext : DbContext
    {
        public MvcGuestbookContext()
            : base("name=DefaultConnection")
        {
        }

        public DbSet<Guestbook> Guestbooks { get; set; }
    }

构造函数中的DefaultConnection为连接字符串的名字,这个连接字符串必须存储在web.config中。DbSet<Guest>类型的Guestbooks变量,代表的是Guestbook这个类型的数据库集合对象。你可以把Guestbooks属性想象成一个数据库表格,然后把该集合中的每个Gustbook对象想象成是数据表中一条一条的数据。

3. 设置模型为只读

如果希望将Guestbook数据模型被声明成只读,不让应用程序对其写入任何数据,那么可以修改数据上下文类,让DbSet集合属性只提供get实体。

    public class MvcGuestbookContext : DbContext
    {
        public MvcGuestbookContext()
            : base("name=DefaultConnection")
        {
        }

        public DbSet<Guestbook> Guestbooks
        {
            get { return Set<Guestbook>(); }
        }
    }

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn