基本用法(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()));
}