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. Django之博客系统:用户注册和Profile

    前面章节介绍了用户的登录,退出.这一章将介绍用户的注册.首先需要创建一个表单来让用户填写用户名,密码等信息.创建UserRegistrationFrom表单.并指定model为User类 from d ...

  2. 使用Shader Graph实现《塞尔达传说:旷野之息》风格的着色器

    https://mp.weixin.qq.com/s/19Xq6wYuXP0gQJDvC9Fh0g

  3. PerformCallback

    实现客户端,服务端异步通信的. 从客户端到服务端的通信:PerformCallback().PerformCallback就是从客户端到服务端的桥梁,它是单向的只能从客户端发起到服务端.在Perfor ...

  4. loj#6363. 「地底蔷薇」(拉格朗日反演+多项式全家桶)

    题面 传送门 题解 肝了一个下午--我老是忘了拉格朗日反演计算的时候多项式要除以一个\(x\)--结果看它推倒简直一脸懵逼-- 做这题首先你得知道拉格朗日反演是个什么东西->这里 请坐稳,接下来 ...

  5. css 选择器;盒模型

    一.引入方式:(1)CSS 层叠样式表 作用:修饰网页结构 (2)css的三种引入方式 - 行内样式 注意:行内样式的优先级是最高的 - 内接样式 - 外接样式 二.css选择器 基础选择器 * 通配 ...

  6. P1556 幸福的路

    题意:平面内有N头牛$N\le 10$john从(0,0)出发,最后回到(0,0) 只有走到牛那里john才可以改变方向,否则沿着直线走 问john经过每一头牛并且在每一头牛出恰好改变方向一次的方案( ...

  7. shared_ptr 和auto_ptr智能指针

    shared_ptr:计数的智能指针 它是一个包装了new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针 ,可以被自由地拷贝和赋值,在任意的地方共享它,当没有代码使用(引用计数为0)它时 ...

  8. npm install 安装包报错

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

  9. mongodb 基础语法

    参考原文:菜鸟教程 目录 一.数据库二.文档三.索引四.聚合 一.数据库 show dbs -- 查看所有数据库 use DATABASE_NAME -- 如果数据库不存在,则创建数据库,否则切换到指 ...

  10. 5.SpringMVC

    1.SpringMVC概述 概述: SpringMVC是基于请求驱动,围绕一个核心Servlet 转发请求到对应的Controller而设计的优点:是一个典型的教科书式的MVC构架,易学易用提供了清晰 ...