开发者

Lambda Expression Entity Collection

I have an entity collection tied to another entity (navigation property) I will always have one but for some reason it brings it back as a collection. I need to be able to cha开发者_如何学JAVAnge one property on this object, the DateViewed property.

var test = _personDetail.CurrentPerson.RecentlyViewed;

is there a way to use this new test object in a lambda expression to change the DateViewed property to DateTime.Now


If it is coming back as a collection and it should not be, you need to go into the designer and set the relationship correctly.


Click on the relationship (the line adjoining the two entities) in the designer, open the properties window, and make sure the End --> Multiplicity property is set to 1 (One) for that end of the relationship.

If it is a "Many-to-one" relationship (ie. the other end of the relationship is set to * (Many)), you'll also want to open the Mapping Details (View --> Other Windows --> Mapping Details) and make sure Association --> Maps to... is set to the *Many side of the relationship.

Once this is complete, you should be able to set the DateViewed property like this:

_personDetail.CurrentPerson.DateViewed = DateTime.Now;


Note, I am not 100% certain what you are asking - ie which part comes back as collection, and what RecentlyViewed is (did you mean DateViewed as you mention elsewhere? Taking a guess here - let me know if this isn't what you meant.

If you know there will always be one and only one item in the CurrentPerson collection, you can use Single() - ie:

_personDetail.CurrentPerson.Single().DateViewed = DateTime.Now;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜