私は Document クラスを持っています:
public class Document
{
public int FromCompanyId { get; set; }
public int ToCompanyId { get; set; }
public string DocumentText { get; set; }
}
いずれかの会社が文書を他の人に送信するとき、私は彼らの文書を保存しましたId
。まもなく、私は多くのIDのペアを持っています:
1, 2 // Company which has Id=1 sent document to Company which has Id=2.
1, 3 // Company which has Id=1 sent document to Company which has Id=3.
4, 3 // Company which has Id=4 sent document to Company which has Id=3 etc.
2, 1
4, 3
4, 5
5, 4
5, 5
4, 5
3, 1
どの会社も自社の文書のみを管理できるようにしたい。送受信。会社 ID でドキュメントを取得するにはどうすればよいですか? または、誰でも別のアドバイスを与えることができます。
したがって、いつid = ToCompanyId
(任意の会社がこの会社にドキュメントを送信した場合) でグループ化しFromCompanyId
、いつid = FromCompanyId
(この会社が別の会社にドキュメントを送信した場合) でグループ化したいかということですToCompanyId
。
これはフェイスブックのメッセージのようです。メッセージをクロスすると、すべてのダイアログが Id of other users で表示されます。私のアプリケーションでは、他の会社の ID でドキュメントを表示したいと考えています。
これは正しく機能しid = FromCompanyId
ます。
GetDocumentsByCompanyId(int Id)
{
...
var myDocs= MyDatabaseContext.Documents.Where(e => e.FromCompanyId == Id|| e.ToCompanyId == Id);
var docGroups = from m in myDocs
group m by m.ToCompanyId
into g select new { ToCompanyIdKey = g.Key, betweenDocs = g };
...
}
下手な英語でごめんなさい。