CRUDオペレーション


LINQ 2 DBは.NET Foundationプロジェクトです.
LINQ 2 DB hereに関する詳細な情報を取得する
ここでは、linq 2 dbを使用した基本的なCRUD操作のためのいくつかのメソッドを挙げました.

Note:- This information is not for beginners as here chunks of code are present not complete crud operations are performed.



createtableとdroptable
using (var db = new DataConnection())
{
    try { db.DropTable<TestTable>(); } catch {}

    db.CreateTable<TestTable>();
}

挿入
このメソッドは単一のオブジェクトを挿入します.
using (var db = new DataConnection())
{
    db.Insert(new TestTable
    {
        Name = "Crazy Frog",
    });
}

このメソッドは式ツリーを取り、SQL
using (var db = new DataConnection())
{
    db.GetTable<TestTable>()
        .Insert(() => new TestTable
        {
            Name      = "Crazy Frog",
            CreatedOn = Sql.CurrentTimestamp
        });
}

このメソッドはINSERT INTO/SELECT文を生成します
using (var db = new DataConnection())
{
    db
        .GetTable<TestTable>()
        .Where(t => t.Name == "Crazy Frog")
        .Insert(
            db.GetTable<TestTable2>(),
            t => new TestTable2
            {
                Name      = t.Name + " II",
                CreatedOn = t.CreatedOn.Value.AddDays(1)
            });
}

、値、挿入
挿入のための新しい演算子が好きでない人のための代替.
using (var db = new DataConnection())
{
    db
        .GetTable<TestTable>()
        .Where(t => t.Name == "Crazy Frog")
        .Into(db.GetTable<TestTable2>())
            .Value(t => t.Name,      t => t.Name + " II")
            .Value(t => t.CreatedOn, t => t.CreatedOn.Value.AddDays(1))
        .Insert();
}

挿入
このメソッドは行を挿入し、IDの値を返す
using (var db = new DataConnection())
{
    object identity = db.GetTable<TestTable>()
        .InsertWithIdentity(() => new TestTable
        {
            Name      = "Crazy Frog",
            CreatedOn = Sql.CurrentTimestamp
        });
}

InsertorUpdate
このメソッドは既存のレコードを更新したり、存在しない場合に新しいものを挿入します.
using (var db = new DataConnection())
{
    db.GetTable<TestTable3>()
        .InsertOrUpdate(
            () => new TestTable3
            {
                ID   = 5,
                Name = "Crazy Frog",
            },
            t => new TestTable3
            {
                Name = "Crazy Frog IV",
            });
}

インサート置換
このメソッドは既存のレコードのすべてのカラムを更新するか、存在しない場合に新しいものを挿入します
using (var db = new DataConnection())
{
    db.InsertOrReplace(
        new TestTable3
        {
            ID   = 5,
            Name = "Crazy Frog",
        });
}

更新
このメソッドは既存のレコードの全てのカラムを更新します
using (var db = new DataConnection())
{
    db.Update(
        new TestTable3
        {
            ID   = 5,
            Name = "Crazy Frog",
        });
}

このメソッドは、指定したカラムのみを更新します
using (var db = new DataConnection())
{
    db
        .GetTable<TestTable>()
        .Where(t => t.ID == 1)
        .Update(t => new TestTable
        {
            Name = "Crazy Frog",
        });
}

WHERE句でオーバーロードする
using (var db = new DataConnection())
{
    db
        .GetTable<TestTable>()
        .Update(
            t => t.ID == 1,
            t => new TestTable
            {
                Name = "Crazy Frog",
            });
}

更新のための新しい演算子が好きではない人のための代替
using (var db = new DataConnection())
{
    db
        .GetTable<TestTable>()
        .Where(t => t.ID == 1)
        .Set(t => t.Name,      t => "Crazy Frog IV")
        .Set(t => t.CreatedOn, t => t.CreatedOn.Value.AddHours(1))
        .Update();
}

削除
このメソッドは既存のレコードを削除します
using (var db = new DataConnection())
{
    db
        .GetTable<TestTable>()
        .Where(t => t.ID == 1)
        .Delete();
}
サードパーティ製のLINQ 2 DBドキュメントの詳細情報をhere