自己写了又两个程序,虽然功能达到了预期的效果,但是怎么也利用不起来MODEL实体类,求大神指点一下
MODEL实体类都利用不起来,怎么达到你的功能
你用的EF,还是其他什么方式
只是简单的让一个DataGridView显示数据库中一个表 也就是只调用了SQL语句
@夜空下的男子: 那你直接用ADO.net对数据库进行操作,返回一个datatable就行了,确实不要用到model
@稳稳的河: 我知道,但是如果要用到怎么实现?现在项目开发要有三层架构的规范,所以要学习掌握
@夜空下的男子: 对数据库的操作用的是那种?
@稳稳的河: sql2005
@夜空下的男子: 是对数据库操作的技术,EF,ado,其实现在的3成结果Model成那里都要,很多都说成UI,BLL,DLL
@稳稳的河: 对,所以现在我要学的就是如何把实体层利用起来
@夜空下的男子:(我举个例子把) 1:定义一个实体类,
//我这继承是为了很多表共用的字段,版本号等 public class Order : EntityBase { public Order() { Details = new List<OrderDetail>(); OrderStyles = new List<OrderStyle>(); } public virtual IList<OrderStyle> OrderStyles { get; protected set; } public virtual int AssociatedOrderId { get; set; } public virtual string JobNo { get; set; } public virtual string PoNo { get; set; } public virtual OrderType Type { get; set; } //外键 public virtual IList<OrderDetail> Details { get; protected set; } }
2:插入:
你给这个实体赋值:(大约如)
order.CreatedTime = order.ModifiedTime = DateTime.Now;
order.CreatedUser = order.ModifiedUser = user;
order.Status = OrderStatus.PendingApproval;
order.PrintShop = printShopService.Load(printShopId);
order.JobNo = string.Empty;
把实体对象传过去()orderService.Save(order);
3:实现save:(1)EF:有savechange(order)方法(2):NHibernate: return Session.Save(order)方法(3):ado.net 写sql语句把实体传人,insert into 表 (v1,v1,v3)values(?,?,?)(java) insert into 表 (v1,v1,v3)values(v1,v2,v3)(c#),再对???或v1,...赋值,再调用你的查询操作(删除,查询是一样的)
@稳稳的河: 谢谢指教
@稳稳的河: 不过可以不用接口么?@稳稳的河: 谢谢指教
@夜空下的男子: 第3种就没有用呀,直接是SQL语句查询的
@稳稳的河: 不用接口model就利用不起来了么?
@夜空下的男子: 不明白你的意思,接口不是说用来利用model,你不是要分层吗?如:
接口很多时候是为了降低耦合的,将来你对项目的整个框架进行设计的时候就会知道了
@稳稳的河: 嗯,我的想法不知道是不是有误区,就是我只建立UI BLL DAL 和Model,其他不用,这样能利用起Model么
@夜空下的男子: 基本上是在DAL定义数据库的操作,bll是业务逻辑,当然是可以利用的,你只要引用了model,那里都可以用,包括UI,LIST<T>的T就是一个model,T当然也可以是string这些对象
automapper
http://www.cnblogs.com/LipeiNet/p/4726609.html 这个能达到效果吗