03 EntityFramework代码优先应用于已有的数据库
1. 创建新的数据库:
.png)
CREATE TABLE [dbo].[Blogs] ( [BlogId] INT IDENTITY (1, 1) NOT NULL, [Name] NVARCHAR (200) NULL, [Url] NVARCHAR (200) NULL, CONSTRAINT [PK_dbo.Blogs] PRIMARY KEY CLUSTERED ([BlogId] ASC) ); CREATE TABLE [dbo].[Posts] ( [PostId] INT IDENTITY (1, 1) NOT NULL, [Title] NVARCHAR (200) NULL, [Content] NTEXT NULL, [BlogId] INT NOT NULL, CONSTRAINT [PK_dbo.Posts] PRIMARY KEY CLUSTERED ([PostId] ASC), CONSTRAINT [FK_dbo.Posts_dbo.Blogs_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [dbo].[Blogs] ([BlogId]) ON DELETE CASCADE ); INSERT INTO [dbo].[Blogs] ([Name],[Url]) VALUES ('The Visual Studio Blog', 'http://blogs.msdn.com/visualstudio/') INSERT INTO [dbo].[Blogs] ([Name],[Url]) VALUES ('.NET Framework Blog', 'http://blogs.msdn.com/dotnet/')
2. 创建控制台程序;
3. 映射数据模型:
添加ADO.NET Entity Data Model
.png)
选取你创建的数据库
4. 读写数据
class Program { static void Main(string[] args) { using (var db = new BloggingContext()) { // Create and save a new Blog Console.Write("Enter a name for a new Blog: "); var name = Console.ReadLine(); var blog = new Blog { Name = name }; db.Blogs.Add(blog); db.SaveChanges(); // Display all Blogs from the database var query = from b in db.Blogs orderby b.Name select b; Console.WriteLine("All blogs in the database:"); foreach (var item in query) { Console.WriteLine(item.Name); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } }
5. 自定义代码优先应用于已有的数据库
Customizing Code First to an Existing Database.
6. 数据迁移:
Code First Migrations with an existing database.
Stay hungry, stay foolish

浙公网安备 33010602011771号