2
私は(例えば、2)、会話GROUPBY内部テイク(制限)リスト
から2つのメッセージが、私は私のリストがどのように見えるかについて気にしないが、私はからわずか2メッセージを欲しい取る必要がありますID 1、2つのID2からのメッセージ、および
例に行く:
ID = idConversation
Id | MessageId | Message
---|-----------|--------
1 | 1 | "asd"
1 | 2 | "asd2"
1 | 3 | "asd3"
1 | 4 | "asd4"
2 | 5 | "asd5"
3 | 6 | "asd6"
3 | 7 | "asd7"
3 | 8 | "asd8"
3 | 9 | "asd9"
3 | 10 | "asd10"
4 | 11 | "asd11"
4 | 12 | "asd12"
4 | 13 | "asd13"
と私はしたいこと
Id MessageId Message
---|-----------|--------
1 | 1 | "asd"
1 | 2 | "asd2"
2 | 5 | "asd5"
3 | 6 | "asd6"
3 | 7 | "asd7"
4 | 11 | "asd11"
4 | 12 | "asd12"
私はidConversationを気にすることができますが、私は会話でgroubyを使用して数量を制限できません。
var test = unitOfWork.ChatMensagemRepository.GetAll()
.Where(x => x.PessoaCodigoPessoa == codigoRemetente)
.GroupBy(x => x.ChatConversaCodigoChatConversa)
.Select(group => new
{
codigoChat = group.Key,
list = group.Select(mensagem => new
{
// do stuff
})
}).ToList();
これはokです...しかし、私はgroup.takeを行うとき(2).Selectが.....私を与える、私のリストを制限いけない
var test = unitOfWork.ChatMensagemRepository.GetAll()
.Where(x => x.PessoaCodigoPessoa == codigoRemetente)
.GroupBy(x => x.ChatConversaCodigoChatConversa)
.Select(group => new
{
codigoChat = group.Key,
list = group.Take(2).Select(mensagem => new
{
// do stuff
})
}).ToList();
"サブクエリは複数の行を返します"
エラー:サブクエリはMySQ用のためEFプロバイダ、それが発生した1以上の行
投稿しないでください(HTTPSを[複製]。 com/questions/45799292/take-and-group-by-entityframework)の質問(異なるアカウントの下で) –