Linq to EF

添加:

//用户注册
int IUserDAO.Register(Users user)
{
int uid = ;
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
EF.DD_Users entity = new EF.DD_Users()
{
UserName = user.UserName,
Password = user.Password,
RegistTime = user.RegistTime,
CartLevel = user.CartLevel,
GradeID = user.GradeID,
GoldBalance = user.GoldBalance,
NickName = user.NickName,
State=user.State,
UserNameType=user.UserNameType
};
context.DD_Users.Add(entity);
context.SaveChanges();
uid = entity.UID;
}
return uid;
}

修改:

//用户修改  
bool IUserDAO.EditUser(Users u)
{
bool flag = false;
using( EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var user = context.DD_Users.SingleOrDefault(a =>a.UID == u.UID);
if (user != null)
{
user.Birthday = u.Birthday;
user.Gender = u.Gender;
user.IDNumber = u.IDNumber;
user.NickName = u.NickName;
user.PersonalIDType = u.PersonalIDType;
user.Industry = u.Industry;
user.Professional = u.Professional;
user.RealName = u.RealName;
user.AddressID = u.AddressID;
user.Address = u.Address;
flag=context.SaveChanges()>?true:false;
}
}
return flag;
}

用户查询:

//用户登录
Users IUserDAO.Login(string loginid, string password)
{
Users user = null;
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var entity = context.DD_Users.FirstOrDefault(u => u.UserName == loginid && u.Password == password);
if (entity != null)
{
user = CreatUser(user, entity);
}
}
return user;
} private static Users CreatUser(Users user, EF.DD_Users entity)
{
user = new Users()
{
UserName = entity.UserName,
UID = entity.UID,
Birthday = entity.Birthday,
GradeID = entity.GradeID,
Email = entity.Email,
CartLevel = entity.CartLevel,
GoldBalance = entity.GoldBalance,
IDBackImage = entity.IDBackImage,
IDFrontImage = entity.IDFrontImage,
IDNumber = entity.IDNumber,
LastAddressID = entity.LastAddressID,
LastInvoiceTypeID = entity.LastInvoiceTypeID,
PersonalIDType = entity.PersonalIDType,
LastLoginTime = entity.LastLoginTime,
Mobile = entity.Mobile,
NickName = entity.NickName,
Password = entity.Password,
RealName = entity.RealName,
RegistTime = entity.RegistTime,
State = entity.State,
UserNameType=entity.UserNameType,
Gender = entity.Gender,
Address = entity.Address,
Industry = entity.Industry,
Professional = entity.Professional,
IsVolunteer=entity.IsVolunteer,
HeadImage=entity.HeadImage,
AddressID=entity.AddressID
};
return user;
}

删除:

using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
var user= context.Users.Where(c => c.Uid== ).First();
context.Users.Remove(user);
context.SaveChanges();
}

查询返回集合

 List<InspectionUsers> IProductQualityDAO.GetAllInspection()
{
List<VIEWMODEL.InspectionUsers> inspectionUsers = null;
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{ inspectionUsers = (from f in context.DD_InspectionUsers
select new VIEWMODEL.InspectionUsers
{
INSID = f.INSID,
UserName = f.UserName,
Password = f.Password,
Mobile = f.Mobile,
Email = f.Email,
Telephone = f.Telephone,
RealName = f.RealName,
Birthday = f.Birthday,
PersonalIDType = f.PersonalIDType,
IDNumber = f.IDNumber,
IDFrontImage = f.IDFrontImage,
IDBackImage = f.IDBackImage,
CredentialTypeName = f.CredentialTypeName,
CredentialNumber = f.CredentialNumber,
CredentialFrontImage = f.CredentialFrontImage,
CredentialBackImage = f.CredentialBackImage,
Grade = f.Grade,
RegistTime = f.RegistTime,
LastLoginTime = f.LastLoginTime,
LastInspectTime = f.LastInspectTime,
Professional = f.Professional,
INDIDS = f.INDIDS
}).ToList();
}
return inspectionUsers;
}

EF多表联查

 List<ProductInspections> IProductQualityDAO.GetProductsByINSID(int INSID)
{ List<ProductInspections> list =new List<ProductInspections>();
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
list = (from pi in context.DD_ProductInspections
join p in context.DD_Products on pi.ProductID equals p.PID
join psp in context.DD_ProductStylePrices on pi.ProductID equals psp.PID
where pi.InspectorID == INSID
select new ProductInspections
{
ID=pi.ID,
InspectImgUrl=pi.InspectImgUrl,
InspectorID = pi.InspectorID,
InspectTime=pi.InspectTime,
ProductID=pi.ProductID,
Report=pi.Report,
ReportingTime=pi.ReportingTime,
Score=pi.Score,
ProductPrice=psp.Price,
ProductImageUrl=pi.InspectImgUrl,
ProductName = p.ProductName,
PRID = psp.PRID
}).ToList();
}
return list;
}

EF的二次查询(自己胡乱叫的名字)

 IList<SubOrders> IOrderDAO.GetSubOrders(int uid)
{
List<SubOrders> list = new List<SubOrders>();
using (EF.ddgwDBEntities content = new EF.ddgwDBEntities())
{
var entities = content.DD_MainOrders.Where(o => o.UserID == uid);
foreach (var e in entities)
{
var collection = content.DD_SubOrders.Where(o => o.MOID == e.MOID).ToList();
foreach (var l in collection)
{
SubOrders s = new SubOrders();
s.MOID = l.MOID;
s.PID = l.PID;
s.PRID = l.PRID;
s.SenderID = l.SenderID;
s.SendTime = l.SendTime;
s.ShopsID = l.ShopsID;
s.SOID = l.SOID;
s.SubCoins = l.SubCoins;
s.Subtotal = l.Subtotal;
s.HasSent = l.HasSent;
s.HasShowed = l.HasShowed;
s.BuyingTime = l.BuyingTime;
s.DeliveryCost = l.DeliveryCost;
s.DeliveryMethod = l.DeliveryMethod;
s.HasApplyedReparing = l.HasApplyedReparing;
s.HasApplyedReplacing = l.HasApplyedReplacing;
s.HasApplyedReturning = l.HasApplyedReturning;
s.HasComment = l.HasComment;
s.HasReceived = l.HasReceived;
s.IsFreeCost = l.IsFreeCost;
s.Quantity = l.Quantity;
s.ReceiveTime = l.ReceiveTime;
s.UnitPrice = l.UnitPrice;
list.Add(s);
}
}
}
//查询完后还可继续联查
using (EF.ddgwDBEntities context = new EF.ddgwDBEntities())
{
foreach (var o in list)
{
EF.DD_ProductStylePrices productStylePrices = context.DD_ProductStylePrices.Single(a => a.PRID == o.PRID);
o.ImgUrl = context.DD_ProductImages.Where(p => p.PID == o.PID && productStylePrices.StyleJson.Contains("," + p.pGroupNo + ",")).ToList()[].Path;
o.ProductName = context.DD_Products.FirstOrDefault(p => p.PID == o.PID).ProductName;
}
}
return list;
}

EF框架的更多相关文章

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  2. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  4. EF框架的三种工作方式

    EF框架step by step(1)—Database-First EF框架step by step(2)—Model-First EF框架step by step(3)—Code-First 通过 ...

  5. C# CodeFirst(EF框架)代码优先创建数据库

    namespace WebEF.Model{ public class ModelContext:DbContext //继承DBcontext 来自EF框架 { public ModelContex ...

  6. EF框架学习手记

    转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...

  7. EF框架之三种模式

    使用EF之前必须要对EF有个宏观的了解.学习任何一种技术都要像门卫一样问几个问题. 第一,它是谁? 第二,从哪里来? 第三,到哪里去? 默念一遍:不谋全局者,不足谋一域. Entity Framewo ...

  8. EF框架step by step(7)—Code First DataAnnotations(2)

    上一篇EF框架step by step(7)—Code First DataAnnotations(1)描述了实体内部的采用数据特性描述与表的关系.这一篇将用DataAnnotations描述一下实体 ...

  9. EF框架step by step(7)—Code First DataAnnotations(1)

    Data annotation特性是在.NET 3.5中引进的,给ASP.NET web应用中的类提供了一种添加验证的方式.Code First允许你使用代码来建立实体框架模型,同时允许用Data a ...

  10. EF框架step by step(5)—处理实体简单属性

    EF框架会对实体进行跟踪,对实体的每个属性当前值和原始值及其状态进行跟踪,记录.当前值是指实体属性当前的被赋予的值,而原始值是指实体最初从数据库读取或者附加到DbContext时的值. 先通过简单的代 ...

随机推荐

  1. python之编辑器pycharm

    在进行python开发的时候,习惯使用pycharm这个编辑器进行开发工作,总结一些常用到的功能点 常用功能: 1. 打开当前文件所在的目录 在文件右击 -> Show in Exploer   ...

  2. Copy拷贝

    前言 copy:需要先实现 NSCopying 协议,创建的是不可变副本. mutableCopy:需要实现 NSMutableCopying 协议,创建的是可变副本. 浅拷贝:指针拷贝,源对象和副本 ...

  3. linux 学习文档

    1.nginx中文文档 http://www.nginx.cn/doc/

  4. 【Python发展】pandas和koalas

    1.pandas介绍 Python 数据科学在过去几年中爆炸式增长, pandas 已成为生态系统的关键.当数据科学家得到一个数据集时,他们会使用 pandas 进行探索.它是数据处理和分析的终极工具 ...

  5. 《图解HTTP》阅读笔记-第五章-web服务器

      第五章.与HTTP协助的web服务器单台虚拟主机实现多个域名可以用单台物理主机运行多台虚拟主机,这些虚拟主机的IP相同,而虚拟主机有可以寄存多个不同主机名和域名的web网站,所以要保证发送HTTP ...

  6. http 与 TCP 与 socket 定义,区别

    http://blog.csdn.net/jenminzhang/article/details/47017741 http协议:处于互联网协议的应用层,角色是规定数据传输的格式,http是建立在so ...

  7. 04->python字典

    字典dict 1.数据类型分类(按可变和不可变)     不可变数据类型:数字.bool.str.tuple     可变数据类型:list.dict.set 2.dict的组成     key:va ...

  8. npm install 安装包报错

    D:\hapi_learn>npm .x.x npm ERR! code ENOSELF npm ERR! Refusing to install package with name " ...

  9. Kibana源码启动报错记录--ENOSPC

    执行该命令可解决:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysc ...

  10. POJ-1128-Frame Stacking

    链接:https://vjudge.net/problem/POJ-1128 题意: 每张图片上面画了一些边框,给出这些边框叠在一起后的图片,图片边框一定是由一个字母表示并且每条边至少三个字符,输入保 ...