EF Code First資料庫連接配置

來源:互聯網
上載者:User

  前面幾節,使用的都是通過EF Code First建立的新資料庫,接下來,將開始使用已存在的資料庫。

  1、使用設定檔設定資料庫連接

  App.config

  資料庫連接字串的name與Data中NorthwindContext.cs類名相同

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<connectionStrings>
<add name="NorthwindContext" connectionString="Data Source=(local); Database=Northwind; User ID=sa; Password=1;" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>

  Data中NorthwindContext.cs

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 using System.Data.Entity;
7
8 using Northwind.Domain.Entities;
9 using Northwind.Domain.Mapping;
10
11 namespace Northwind.Data
12 {
13 public class NorthwindContext : DbContext
14 {
15 public DbSet<Category> Categories { get; set; }
16 public DbSet<Product> Products { get; set; }
17 public DbSet<Supplier> Suppliers { get; set; }
18
19 protected override void OnModelCreating(DbModelBuilder modelBuilder)
20 {
21 modelBuilder.Configurations.Add(new CategoryMap());
22 modelBuilder.Configurations.Add(new ProductMap());
23 modelBuilder.Configurations.Add(new SupplierMap());
24 }
25 }
26 }

  執行成功後,建立的資料庫如:

  2、使用建構函式指定資料庫

  NorthwindContext.cs

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 using System.Data.Entity;
7
8 using Northwind.Domain.Entities;
9 using Northwind.Domain.Mapping;
10
11 namespace Northwind.Data
12 {
13 public class NorthwindContext : DbContext
14 {
15 public NorthwindContext()
16 { }
17
18 public NorthwindContext(string databaseName)
19 : base(databaseName)
20 {
21
22 }
23
24 public DbSet<Category> Categories { get; set; }
25 public DbSet<Product> Products { get; set; }
26 public DbSet<Supplier> Suppliers { get; set; }
27 public DbSet<User> Users { get; set; }
28 public DbSet<Role> Roles { get; set; }
29
30 protected override void OnModelCreating(DbModelBuilder modelBuilder)
31 {
32 modelBuilder.Configurations.Add(new CategoryMap());
33 modelBuilder.Configurations.Add(new ProductMap());
34 modelBuilder.Configurations.Add(new SupplierMap());
35 modelBuilder.Configurations.Add(new UserMap());
36 modelBuilder.Configurations.Add(new RoleMap());
37 }
38 }
39 }

  Program.cs

using (NorthwindContext db = new NorthwindContext("Northwind"))
{
}

  3、使用建構函式指定資料庫連接字串

  App.config

 1 <?xml version="1.0" encoding="utf-8"?>
2 <configuration>
3 <configSections>
4 <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
5 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
6 </configSections>
7 <connectionStrings>
8 <add name="NorthwindConnectionString" connectionString="Data Source=(local); Database=Northwind; User ID=sa; Password=1;" providerName="System.Data.SqlClient"/>
9 </connectionStrings>
10 </configuration>

  NorthwindContext.cs

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 using System.Data.Entity;
7
8 using Northwind.Domain.Entities;
9 using Northwind.Domain.Mapping;
10
11 namespace Northwind.Data
12 {
13 public class NorthwindContext : DbContext
14 {
15 public NorthwindContext()
16 : base("name=NorthwindConnectionString")
17 { }
18
19 public DbSet<Category> Categories { get; set; }
20 public DbSet<Product> Products { get; set; }
21 public DbSet<Supplier> Suppliers { get; set; }
22 public DbSet<User> Users { get; set; }
23 public DbSet<Role> Roles { get; set; }
24
25 protected override void OnModelCreating(DbModelBuilder modelBuilder)
26 {
27 modelBuilder.Configurations.Add(new CategoryMap());
28 modelBuilder.Configurations.Add(new ProductMap());
29 modelBuilder.Configurations.Add(new SupplierMap());
30 modelBuilder.Configurations.Add(new UserMap());
31 modelBuilder.Configurations.Add(new RoleMap());
32 }
33 }
34 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.