仅从EntitySet返回一个对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅从EntitySet返回一个对象相关的知识,希望对你有一定的参考价值。
我在Linq:Persons and Contracts中映射了这两个表。我还有一个全局变量DateTime DateOfInteres。
当我映射人员表时,我希望有一个属性返回单个合同:DateOfInteres的有效合同。
基本上,Contracts具有以下三个属性:bool IsActive,DateTime StartDate,DateTime EndDate。
在映射表之后,我在Person类中定义了这个EntitySet:
EntitySet _lct = new EntitySet(); [Association(Storage =“_ lct”,ThisKey =“Id”,OtherKey =“PersonId”]
通常下一步是定义包含该人的所有合同的公共IEnumerable合同,但我需要这样:
一个公共合同ActiveContract意味着合同:(IsActive == true)&&(StartDate <= DateOf Interes)&&(EndDate> = DateOfInteres)
因此,在创建MVVM对象时,可以立即访问ActiveContract及其属性。
有关如何实现这一点的任何想法?
谢谢你,丹尼尔
======我想这样的事情:
private EntitySet<Contract> _lctr = new EntitySet<Contract>();
[Association(Storage = "_lctr", ThisKey = "Id", OtherKey = "PersonId")]
public Contract ActiveContract
{
get {
return _lctr.Where(ct => (ct.IsActive == true) &&
( ct.StartDate <= DateOf Interes ) && ( ct.EndDate >= DateOfInteres))
.OrderByDescending(ct => ct.DataInceput)
.FirstOrDefault();
}
}
答案
Contacts.Where(x=> [*PutYourConditionsHere*]).GroupBy(x => x.PersonID).Select(x => x.First())
以上是关于仅从EntitySet返回一个对象的主要内容,如果未能解决你的问题,请参考以下文章
使用 onBackPressed 仅从第一个片段退出 App