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. 2019-RHCE-红帽题库(稳定)

    rhce7 考题2台服务器设置yum源[aa]name=aabaesurl=ftp://server.rhce.cc/dvdenabled=1gpgcheck=0 cd /etc/yum.repos. ...

  2. hdu1402(大数a*b&fft模板)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1402 题意: 给出两个长度1e5以内的大数a, b, 输出 a * b. 思路: fft模板 详情参 ...

  3. 牛客寒假算法基础集训营4 F Applese 的QQ群

    链接:https://ac.nowcoder.com/acm/contest/330/F来源:牛客网 Applese 有一个QQ群.在这个群中,大家互相请教问题.如 b 向 a 请教过问题,就把 a ...

  4. 【STL基础】deque

    deque (double-ended queue) 构造函数: //default: deque<T> d; //空的vector //fill: deque<T> d(n) ...

  5. java编程技巧和心得

    1.在一个类中修改或调用另一个类的变量: 只需要将该变量用public static 这个修饰符修饰,再用类名直接调用即可 2.实现对只有下标不同变量的操作 解决思路:可以将这些变量放在一个数组里,在 ...

  6. laravel 用户名登录

    laravel 用户名登录 默认登录设置为用户登录 laravel 5.3+ 修改文件(app\Http\Controllers\Auth\LoginController.php)增加 public ...

  7. hive 取两次记录的时间差 lead lag first_value last_value

    -- LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值 -- 第一个参数为列名,第二个参数为往下第n行(可选,默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如 ...

  8. Web前端常见问题

    一.理论知识 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器 ...

  9. ubuntu ifconfig 不显示IP地址

    本文转载:https://blog.csdn.net/cmh477660693/article/details/52760236 ubuntu终端下命令ifconfig的问题解决 问题一. ifcon ...

  10. VS 设置背景色和背景图片

    VS版本:2013 选择菜单栏上——工具——选项——环境——字体和颜色——自定义(项背景),选择好自己喜欢的颜色即可 设置背景图片 下载vs插件(ClaudiaIDE):https://visuals ...