首页 新闻 会员 周边

MVC3中,类导航属性的定义和用法,求详解。

0
悬赏园豆:60 [已解决问题] 解决于 2011-09-16 04:48

只有60分,全上了。。。两个类,Article,Category

Article

{

public int ArticleID{get;set;}

public int CategoryID{Get;set;}

public string Title{get;set;}

public string Details{get;set;}

}

Category

{

public int CategoryID{get;set;}

public string Title{get; set;}

}

在类图里面,Category是Article的导航属性,实际应用里,文章和类别是一对一的关系。问一下这东西怎么写怎么用比较好,看园子里其他人写的,有以下几种实现的:IQueryable<Category>,IEnumable<Category>,ICollection<Category>,IList<Category>

(以上这几种归根结底应该是基于同一个基类的?),SelectList<Category>,还有直接写public vitrual Category category{get;set;}的,

小子笨着,所以问下这倒底是怎么回事,在Controller和View里怎么用比较好?

比如是Article的Details里面咱只要显示Category.Title就可以了,新建和编辑里那就要放到下拉框或其他的形式来选。求详解。。。谢谢先。

BorgChen的主页 BorgChen | 初学一级 | 园豆:11
提问于:2011-09-05 16:58
< >
分享
最佳答案
1

首先文章和类别不是一对一关系,而是一对多关系,感觉你说的有点像EF,EF中一般写为public virtual Category catetory{get;set;},这样在需要用到时才延迟加载,MVC中你可以建一个model,model中含有article和category

收获园豆:60
artwl | 专家六级 |园豆:16736 | 2011-09-05 17:50

先汗一下我的一对一关系。

是MVC3+EF没错,刚刚看园子里其他的文章,倒是提供了一种方法。但是还是不明白,啥时候用Category和IQueryable<Category>的区别。

BorgChen | 园豆:11 (初学一级) | 2011-09-05 19:57

IQueryable只是一个表达式,在用时才去数据库中查询

artwl | 园豆:16736 (专家六级) | 2011-09-05 20:01

@天行健 自强不息:

这个我知道。是我没表达清楚吧,我是想知道这几种情况的区别,什么情况下用哪种。

BorgChen | 园豆:11 (初学一级) | 2011-09-05 22:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册