Я пишу приложения в VS2010, Framework 4.0, C# и Silverlight 4.Объединить строку и десятичной в запросе Linq
У меня есть простой класс и Linq запрос.
Класс:
public class pmDues
{
[Key]
public int DuesID { get; set; }
[DataMember]
public string dues_type { get; set; }
public decimal dues_amount { get; set; }
}
В моей DomainService У меня есть следующие IQueryable:
public IQueryable<pmdues> GetDues()
{
return from dues in ObjectContext.tblDuesRates
orderby dues.due_type
select new pmDues()
{
DuesID = dues.id,
dues_type = dues.due_type,
dues_amount = dues.amount.Value
};
}
До сих пор так хорошо ....... Но!
Что я действительно хочу, так это отобразить dues_type + dues_amount в конкатенированном виде. Параметр dues_amount объявляется десятичным числом в таблице SQL Server. Я не знаю, где и как конкатенировать dues_type с помощью dues_amount. Я попробовал следующее, но это не сработало. Должен ли я выполнять конкатенацию в классе? Если да, то как. Все еще новый для C#.
public IQueryable<pmdues> GetDues()
{
return from dues in ObjectContext.tblDuesRates
orderby dues.due_type
select new pmDues()
{
DuesID = dues.id,
dues_type = dues.due_type + " - " +
dues.amount.Value.ToString(),
dues_amount = dues.amount.Value
};
}
Благодаря
Любое исключение? –
Можете ли вы сообщить нам, что означает «Я пробовал следующее, но это не сработало»? Что случилось, что вы знаете, что это не сработало? – Enigmativity
Не связывайте струны, это всегда плохая идея. Вместо этого используйте String.Format. Готов поспорить, что 'dues.amount' имеет значение null, поэтому' dues.amount.Value' выдает исключение NullReferenceException. Попробуйте 'String.Format (" {0} - {1} ", dues.due_type, dues.amount)' –