更新:這是一個依據更充分說明了這個問題https://gist.github.com/pauldambra/5051550我應該放棄Integer ID for RavenDB嗎?
啊,更多更新...如果我做Id屬性的郵件類的字符串那麼它所有的作品。我應該放棄整數ID嗎?
我有2種型號
public class Mailing
{
public int Id { get; set; }
public string Sender { get; set; }
public string Subject { get; set; }
public DateTime Created { get; set; }
}
public class Recipient
{
public Recipient()
{
Status = RecipientStatus.Pending;
}
public RecipientStatus Status { get; set; }
public int MailingId { get; set; }
}
在我的主頁我想抓住最後10個郵件。隨着他們的收件人數(最終以不同狀態的收件人計數,但...)
我已經做了如下指標
public class MailingWithRecipientCount : AbstractMultiMapIndexCreationTask<MailingWithRecipientCount.Result>
{
public class Result
{
public int MailingId { get; set; }
public string MailingSubject { get; set; }
public string MailingSender { get; set; }
public int RecipientCount { get; set; }
}
public MailingWithRecipientCount()
{
AddMap<Mailing>(mailings => from mailing in mailings
select new
{
MailingId = mailing.Id,
MailingSender = mailing.Sender,
MailingSubject = mailing.Subject,
RecipientCount = 0
});
AddMap<Recipient>(recipients => from recipient in recipients
select new
{
recipient.MailingId,
MailingSender = (string) null,
MailingSubject = (string)null,
RecipientCount = 1
});
Reduce = results => from result in results
group result by result.MailingId
into g
select new
{
MailingId = g.Key,
MailingSender = g.Select(m => m.MailingSender)
.FirstOrDefault(m => m != null),
MailingSubject = g.Select(m => m.MailingSubject)
.FirstOrDefault(m => m != null),
RecipientCount = g.Sum(r => r.RecipientCount)
};
}
}
我查詢使用
public ActionResult Index()
{
return View(RavenSession
.Query<RavenIndexes.MailingWithRecipientCount.Result, RavenIndexes.MailingWithRecipientCount>()
.OrderByDescending(m => m.MailingId)
.Take(10)
.ToList());
}
我也得到:
System.FormatException:System.FormatException:輸入字符串不是 正確格式。在System.Number.StringToNumber(字符串str, 的NumberStyles選項,NumberBuffer &數的NumberFormatInfo信息,布爾 parseDecimal)
任何幫助表示讚賞
輝煌的附加信息。謝謝! – 2013-02-28 09:39:17