這裏是我的域名的簡化版本:LINQ表達式來獲取子記錄與唯一父
class Document
{
int id {get;set;}
string name {get;set;}
List<Version> Version {get;set;}
}
class Version
{
int id {get;set;}
string name {get;set;}
List<VersionActivity> VersionActivity {get;set;}
[ForeignKey]
int DocumentID {get;set;}
}
class VersionActivity
{
int id {get;set;}
DateTime DateOfActivity {get;set;}
string ActivityName {get;set;}
[ForeignKey]
int VersionID {get;set;}
}
尋找一個LINQ查詢,返回最近的20個版本,但不能有重複的文檔。
實施例:
- 我有1,2和3
- IDS我編輯文件3(即,存在於活性)的版本10,20和文獻1的30昨天
- 今天我編輯了文檔2的版本40,50和60(因此這些文檔版本位於最近編輯的文檔列表之上)。
- 查詢需要從文獻2中記錄1,然後返回僅最新的文檔版本文獻1的最新文件版本記錄2.
我想只有一個往返到數據庫。如果SQL更容易,我可以使用它,但我更喜歡LINQ查詢。
謝謝。
你的榜樣的最後一點意味着在查詢結果文獻2的兩個版本? – har07
我修正了我的例子中的拼寫錯誤。我更改了第3點以引用文檔2.基本上,我想要最近編輯的文檔版本 - 但是如果該列表中有多個文檔版本具有相同的父級(文檔),我想排除除第一個文件版本。 – apierceSO
因此,如果您有50份文件在過去5分鐘內被編輯過兩次,那麼您只需要不同文件的最新更新版本? (對不起,您在示例中僅使用2個文檔的事實讓我感到困惑。) – krillgar