首页 新闻 会员 周边

(C#)求一个关于数据库映射model实体类的方法

0
悬赏园豆:50 [已解决问题] 解决于 2015-08-20 09:36

自己写了又两个程序,虽然功能达到了预期的效果,但是怎么也利用不起来MODEL实体类,求大神指点一下

夜空下的男子的主页 夜空下的男子 | 初学一级 | 园豆:31
提问于:2015-08-19 18:00
< >
分享
最佳答案
0

MODEL实体类都利用不起来,怎么达到你的功能

收获园豆:48
稳稳的河 | 老鸟四级 |园豆:4216 | 2015-08-19 18:02

你用的EF,还是其他什么方式

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-19 18:03

只是简单的让一个DataGridView显示数据库中一个表  也就是只调用了SQL语句

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-19 18:04

@夜空下的男子: 那你直接用ADO.net对数据库进行操作,返回一个datatable就行了,确实不要用到model

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 09:08

@稳稳的河: 我知道,但是如果要用到怎么实现?现在项目开发要有三层架构的规范,所以要学习掌握

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 09:10

@夜空下的男子: 对数据库的操作用的是那种?

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 09:12

@稳稳的河: sql2005

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 09:12

@夜空下的男子: 是对数据库操作的技术,EF,ado,其实现在的3成结果Model成那里都要,很多都说成UI,BLL,DLL

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 09:15

@稳稳的河: 对,所以现在我要学的就是如何把实体层利用起来

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 09:17

@夜空下的男子:(我举个例子把) 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,...赋值,再调用你的查询操作(删除,查询是一样的)

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 09:34

@稳稳的河: 谢谢指教

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 09:36

@稳稳的河: 不过可以不用接口么?@稳稳的河: 谢谢指教

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 09:37

@夜空下的男子: 第3种就没有用呀,直接是SQL语句查询的

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 09:48

@稳稳的河: 不用接口model就利用不起来了么?

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 09:49

@夜空下的男子: 不明白你的意思,接口不是说用来利用model,你不是要分层吗?如:

接口很多时候是为了降低耦合的,将来你对项目的整个框架进行设计的时候就会知道了

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 10:00

@稳稳的河: 嗯,我的想法不知道是不是有误区,就是我只建立UI BLL DAL 和Model,其他不用,这样能利用起Model么

夜空下的男子 | 园豆:31 (初学一级) | 2015-08-20 10:01

@夜空下的男子: 基本上是在DAL定义数据库的操作,bll是业务逻辑,当然是可以利用的,你只要引用了model,那里都可以用,包括UI,LIST<T>的T就是一个model,T当然也可以是string这些对象

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-20 10:07
其他回答(2)
0

automapper

收获园豆:2
G1mist | 园豆:16 (初学一级) | 2015-08-19 23:03
0

http://www.cnblogs.com/LipeiNet/p/4726609.html 这个能达到效果吗

朝向远方 | 园豆:224 (菜鸟二级) | 2015-08-20 12:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册