RHCarDataEntities EfDbEntities = new RHCarDataEntities();
//增加
public bool AddAccounttingRules() {
string s = string.Format("{0:yyyyMMddhhmmss}", DateTime.Now);
AccounttingRules acRules = new AccounttingRules() {
Id= Convert.ToInt64(s),
FreeTime=30,
InitialPrice=12,
InitialTime=30,
ChargingPrice=2,
ChargingTime=60
};
EfDbEntities.AccounttingRules.Add(acRules);
return EfDbEntities.SaveChanges()>0;
}
//删除
public bool DeleteAccounttingRules()
{
EfDbEntities.AccounttingRules.Remove(EfDbEntities.AccounttingRules.Single(c=>c.Id==2018082987));
return EfDbEntities.SaveChanges()>0;
}
//查询
public List<AccounttingRules> SearchAccounttingRules()
{
var acRulList = from c in EfDbEntities.AccounttingRules
where c.Id == 2018082987
select c;
List<AccounttingRules> listActRules = new List<AccounttingRules>();
foreach (var item in acRulList)
{
listActRules.Add(
new AccounttingRules { Id=item.Id, ChargingPrice=item.ChargingPrice, ChargingTime=item.ChargingTime, FreeTime=item.FreeTime, InitialPrice=item.InitialPrice, InitialTime=item.InitialTime}
);
}
return listActRules;
}
//修改
public bool updateAccounttingRules() {
bool result=false;
var acrul = from c in EfDbEntities.AccounttingRules
where c.Id == 2018082987
select c;
AccounttingRules accountRules = acrul.FirstOrDefault<AccounttingRules>();
if (null != accountRules) {
accountRules.FreeTime = 120;
EfDbEntities.Entry<AccounttingRules>(accountRules).State = System.Data.Entity.EntityState.Modified;
//生成sql语句执行到数据库中
result= EfDbEntities.SaveChanges() > 0;
}
return result;
}
static void Main(string[] arg)
{
//getLinqStr();
//bool result= new DBHelperToEF().AddAccounttingRules();
Console.WriteLine("Insert::" + new DBHelperToEF().AddAccounttingRules());
Console.WriteLine("select::"+new DBHelperToEF().SearchAccounttingRules());
Console.WriteLine("update::" + new DBHelperToEF().updateAccounttingRules());
Console.WriteLine("delete::" + new DBHelperToEF().DeleteAccounttingRules());
Console.ReadLine();
}
结果:
#region 单表查询和数据投影 Linq To Entities
public static void getLinqToEntities() {
#region 查询数据 只查询几个字段
var stuList = from accountRule in EfDbEntities.AccounttingRules
where accountRule.Id == 2018082987
//select accountRule;查询全部字段
select new { accountRule.InitialPrice, accountRule.InitialTime };//查询其中几个字段
#endregion
//直接查询其中的一个
var stude = EfDbEntities.AccounttingRules.Find("2018082987");
}
#endregion
多表之间的查询 创建新的多字段的虚拟实体
EF多表连接查询 join
嵌套查询
使用子查询