有點猶豫這個要放在 第一個 還是 第二個 xd

建立一個 ADO.NET 資料庫模型

選用 ADO.NET實體資料庫模型

Code generate db

產生一個資料庫並連接

code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.Infrastructure;

namespace WindowsFormsApp1
{
    public class BlogContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
    }

    public class Blog
    {
        public int BlogId { get; set; }
        public string Name { get; set; }
    }
}
code
using (var db = new BlogContext())
            {
                // 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();
            }

以現有資料庫去連接

code
class video
    {
        [Key]
        public string title { get; set; }
        public string dec  { get; set; }
        public string dec2 { get; set; }
        public string dec3 { get; set; }
    }
    class MeContext : DbContext
    {
        public MeContext() : base(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=WindowsFormsApp1.BlogContext;Integrated Security=True;") { }
        public DbSet<video> videos { get;set;}

    }
code
using (var db = new MeContext()) 引用
            {
                String timeStamp = GetTimestamp(DateTime.Now);
                db.videos.Add(new video { title = timeStamp, dec ="test",dec2 ="123", dec3 = "123" });
                db.SaveChanges();

            }

Code first from db

按下後即可以產生相對應 code,這邊當然不只有 MSSQL 如果你要用 mysql 可以去 Nuget 去下載相對應的套件

這邊就是我們剛剛編寫的sql

那麼引用的方法就是,可能會遇到 video找不到的問題

他自動產生可能會多加一個s 可以在這邊進行修改

code
using (var db = new Model1())
            {
                String timeStamp = GetTimestamp(DateTime.Now);
                db.videos.Add(new video { title = timeStamp, dec = "test", dec2 = "123", dec3 = "123" });
                db.SaveChanges();
                // Display all Blogs from the database
                var query = from b in db.videos
                            orderby b.title
                            select b;

                Console.WriteLine("All blogs in the database:");
                foreach (var item in query)
                {
                    Console.WriteLine(item.title);
                }

            }

Model 的 base

還記得前面幾系列的開頭嗎 不是有一個新增到App.config

這邊也可以進行修改

欄位發生異動

https://dotblogs.com.tw/skychang/archive/2012/04/04/71276.aspx 這篇文章講得很清楚 在 Package Manager Console  而不是在 一般的 console

Enable-Migrations Add-Migration "AddEName" Update-Database 範例 當 我的資料庫裡面沒有 videos 的table 的話或者 我們進行異動欄位,我們就可以透過這方法,不用重新砍掉資料庫而直接新增欄位重建等等