有两个问题请教一下

Jan 6, 2010 at 10:13 AM

比如列举文章列表时,我并不需要获取所有的字段,只需要id,标题,时间等。。应该怎么操作?

还有怎么查看DbEntry执行的sql语句?

谢谢

 

Coordinator
Jan 6, 2010 at 10:34 AM

只获取部分字段的话,需要另外写一个只包含部分字段的类,用DbTable属性指明其对应的表,不过目前这种只包含部分字段的类和自动创建表功能不兼容。

查看DbEntry执行的SQL语句,参见 VisualWiki系列文章,里面列举了两种方式,一种在Debug窗口查看,一种写入数据库。

Jan 6, 2010 at 12:40 PM

我觉得只获取部分字段可以考虑Linq to Sql的做法,不需要的字段直接为空即, 这样可以省很多事
from a in Arcitcle.Table where a.tid=tid select new Arcitcle(){Id=a.Id,Title=a.Title}

我试过了DbEntry还不支持

Coordinator
Jan 6, 2010 at 1:12 PM

Linq to Sql 的写法不是不需要的字段直接为空,而是动态创建了一个只包含部分字段的类,

DbEntry的有些部分和这种动态创建的类不和谐。

Feb 25, 2010 at 4:45 AM

不知能否扩展 DbTable,例如可以设置一个bool:(在启用自动创建表时,此表不自动创建... )

= =||

Coordinator
Feb 25, 2010 at 5:57 AM

@ikk

在自动创建表时,不创建这种只有部分字段的表是不行的,会引发找不到表的数据库异常。

可以考虑为DbTable增加一个Type PartOf,用以创建正确的表。

 

Coordinator
Feb 25, 2010 at 5:57 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.