Entity Framework

基本用法(CRUD)

1.插入:

// Create entity context
MyTest2Entities mt = new MyTest2Entities();

// Create an instance of SClass
SClass sc = new SClass();
sc.AddTime = DateTime.Now;
sc.Name = "Class 1";

// Insert the instance into database
mt.SClasses.Add(sc);
int count = mt.SaveChanges();
Console.WriteLine(count.ToString());

2.修改:

// Create entity context
MyTest2Entities mt = new MyTest2Entities();

// Create an instance need modified
SClass sc = new SClass();
sc.Id = 2;
sc.Name = "Kyle";
sc.AddTime = DateTime.Now;

// Attach the entity need modified
mt.SClasses.Attach(sc);

// Modify execute status
mt.Entry(sc).State = System.Data.Entity.EntityState.Modified;
mt.SaveChanges();

3.查询:

#region Multiple record query
MyTest2Entities mt = new MyTest2Entities();

var classes = from c in mt.SClasses
                where c.Id < 10
                select c;

foreach (var item in classes)
{
    Console.WriteLine(item.Name);
}
#endregion

#region Single record query
MyTest2Entities mt = new MyTest2Entities();
var single = (from c in mt.SClasses
                where c.Id == 1
                select c).FirstOrDefault();

if (single != null)
    Console.WriteLine(single.Name);
#endregion

4.删除:

MyTest2Entities mt = new MyTest2Entities();

SClass sc = new SClass();
sc.Id = 2;

mt.SClasses.Attach(sc);
mt.Entry(sc).State = System.Data.Entity.EntityState.Deleted;
mt.SaveChanges();

获取主键:

// TestEntities 继承于 DbContext
using (var db = new TestEntities())
{
    var objectContext = ((System.Data.Entity.Infrastructure.IObjectContextAdapter)db).ObjectContext;
    // Brand 是其中一个表
    ObjectSet<Brand> set = objectContext.CreateObjectSet<Brand>();
    //Act
    IEnumerable<string> keyNames = set.EntitySet.ElementType.KeyMembers.Select(k => k.Name);
    Console.WriteLine("{0}", string.Join(",", keyNames.ToArray()));
}
原文地址:https://www.cnblogs.com/jizhiqiliao/p/10905614.html