2012-08-16 79 views
-1

我有这样的事情:如何获取属于对象一部分的项目列表?

class SomeClass 
{ 
    public int Id {get;set} 
    public int someProperty1 {get;set;} 
    public int someProperty2 {get;set;} 
    public string someProperty3 {get;set;} 
    public List<SomeObject> SomeObjects {get;set} 
} 

当我想要得到这个类的属性,我做的:

var db = new SomeClass(); 
var myClass = db.SomeClass.Single(class => class.Id == 1); 

而且这工作完全正常,我可以得到所有的属性,但List<SomeObject>属性始终为空。我如何获得单个myClass对象,它具有所有属性,以及SomeObject s的列表?我知道我能做到这样的:

var myList = db.SomeClass.SomeObjects.Single(...); 

但我并不想这样做的,是有一次让整个对象的任何其他方式?

回答

1

如果您正在使用实体框架,您可以使用包含方法包括一个相关表。请参阅文档here

var db = new Context(); 
var myClass = db.SomeClass.Include("SomeObject").Single(class => class.Id == 1); 
+0

谢谢。这就像我想要的一样。 :-) – ojek 2012-08-16 13:55:27

0

您正在为SomeClass创建新对象 您是否为其属性指定了值?

var db = new SomeClass(); 
db.Id=1; 
db.someProperty1 = 1; 
db.someProperty2 = 2; 
db.someProperty3 = "abc"; 
db.SomeObjects = objListOfSomeObject //list reference of SomeObject 

或其他任何地方你定义了这些?您可以拨打db.SomeClass

+0

当然,我做了... – ojek 2012-08-16 13:56:13

+0

你应该编辑你的问题var db = new SomeClass(); to db = new Context(); – 2012-08-16 13:57:36

+0

njoy:)........ – 2012-08-16 13:58:33

相关问题