首页 新闻 会员 周边 捐助

Entity Framework实体设计的时候的表映射模式

0
悬赏园豆:10 [已解决问题] 解决于 2014-03-06 15:17

听说有TPT、TPH以及TPC,但在设计器里,只有TPT这个,如何让设计器支持TPH甚至TPC呢?

519740105的主页 519740105 | 大侠五级 | 园豆:5810
提问于:2014-03-04 11:12
< >
分享
最佳答案
0

一般都不用这些特殊的功能,很难映射,一般都用一对一解决,或者直接就把所有字段放一个表,映射简单

收获园豆:10
lawbc | 初学一级 |园豆:63 | 2014-03-04 16:53

这样设计的时候有好多重复的工作。

519740105 | 园豆:5810 (大侠五级) | 2014-03-04 16:56

@519740105: 如果数据库字段少量重复的话,存一张表是没有问题的,大部分是这样做的,如果是字段很多重复,那么可以加一个新表,重复的字段都放新表里面,然后在原表设置一个外键就可以,总之那3中方式的映射都很复杂,随便修改下都很难搞,而且重复的东西都是可以生成的

lawbc | 园豆:63 (初学一级) | 2014-03-04 17:04

@刘标才: 我是这样的:

 

1、定义DTO给前端应用使用

2、定义DomainModel给业务层使用

3、定义RepositoryModel给数据存储使用

 

在定义中,有这样的情况:

 

1、数据的状态、开关等内容都统一使用一个长整型数据在RepositoryModel中表现

2、RepositoryModel中的数据模型是支持多应用、多应用实体(即一个应用支持多个用户同时开通服务,比如多店电商系统)

3、在应用层只支持一个应用的多实体

4、在表现层,只支持一个应用的一个实体。

519740105 | 园豆:5810 (大侠五级) | 2014-03-04 17:26

@519740105: 你这种情况可以在BLL或者service里面封装下返回值就可以,比如bll获取model后,返回的时候转成dto给UI使用就可以,没有必要直接映射成需要的类,映射的除了单表映射多个类那种的,其他都直接映射为好,想要映射成面向对象多肽那种很麻烦不是不可以,没有必要

lawbc | 园豆:63 (初学一级) | 2014-03-05 10:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册