linQ基礎

林堯彬發表於2020-04-04

LinQ: 資料庫訪問技術

ADO.NET

EF框架 

LinQ to SQL

高整合化的資料庫訪問技術

LINQ 2 SQL  實際是將資料庫的表對映成程式中的類

會把資料庫的表名原封不動的變成類名

資料庫的列名原封不動的變成欄位名/屬性名

所有的操作都是通過Linq自動生成的一個上下文物件來進行操作的 Linq的名字+"DataContext"

一個資料庫對應一個Linq

 

新增:

 public void insert(users u)
    {
        con.users.InsertOnSubmit(u);
        con.SubmitChanges();
    }
using (Data0928DataContext con = new Data0928DataContext())
            {
                con.Users.InsertOnSubmit(u);
                con.SubmitChanges();
            }

查詢:

public List<users> select()
    {
        return con.users.ToList();
    }
using (Data0928DataContext con = new Data0928DataContext())
            {
                Repeater1.DataSource = con.Users.ToList();
                Repeater1.DataBind();
            }

刪除:

public void delete(string un)
    { 
        users u=con.users.Where(r=>r.username==un).FirstOrDefault();
        if (u != null)
        {
            con.users.DeleteOnSubmit(u);
            con.SubmitChanges();
        }
    }

修改:

using (Data0928DataContext con = new Data0928DataContext())
        {
            Users u = con.Users.Where(r => r.UserName == TextBox1.Text.Trim()).FirstOrDefault();

            u.PassWord = TextBox2.Text;
            u.NickName = TextBox3.Text;
            u.Sex = Convert.ToBoolean(TextBox4.Text);
            u.Birthday = Convert.ToDateTime(TextBox5.Text);
            u.Nation = TextBox6.Text;
            u.Class = TextBox7.Text;

            con.SubmitChanges();
            Response.Redirect("Default.aspx");

        }

屬性擴充套件:設定主外來鍵關係

 public string sexstr
    {
        get {
            string end = "暫無";
            if (this.sex != null)
            {
                end = Convert.ToBoolean(this.sex) ? "img/nan.png" : "img/nv.png";
            }
            return end;
        }
    }
    public string nationname
    {
        get
        {
            string end = "暫無";
            if (this.nation != null)
            {
                end = nation1.nationname;
            }
            return end;
        }
    }
    public string classname
    {
        get
        {
            string end = "暫無";
            if (this.@class != null)
            {
                end = class1.classname;
            }
            return end;
        }
    
    }

 

轉載於:https://www.cnblogs.com/wy1992/p/6380239.html

相關文章