У меня есть хранимая процедура, которая возвращает все поля таблицы плюс один, то есть:Вызова хранимой процедуры с LINQ .ExecuteQuery вернуть не-карту поля
tablename.*,count(suchandsuch)
Конечно, при выполнении этого через LINQs ExecuteQuery Я могу вернуть экземпляры класса таблицы в IEnumerable <>, но мне также нужно дополнительное поле, на которое хранится хранимый proc.
Возможно ли это?
Мой текущий код выглядит следующим образом:
public class CategoryWithInstanceCount : DataAccess.Category
{
[System.Data.Linq.Mapping.Column(Storage = "_Instances", DbType = "Int NOT NULL")]
public int Instances { get; set; }
}
protected IEnumerable<CategoryWithInstanceCount> GetCategories(int? parentid)
{
PriceDataContext context = new PriceDataContext(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
IEnumerable<CategoryWithInstanceCount> ie = context.ExecuteQuery<CategoryWithInstanceCount>(
String.Format("EXEC [dbo].[GetCategoryFromParentID] @parentcategoryid = {0}", parentid == null ? "NULL" : parentid.ToString())
);
return ie;
}
Интересно. Правильно ли я полагаю, что метод ExecutQuery не достаточно мощный, чтобы обеспечить тип пользовательского вызова, который я пытаюсь получить? Я думал, что будет замена. –
Я просто хочу сказать, что вы используете buit в объекте avaialble. когда когда-либо я захочу вычитать запрос, который возвращает одно значение или не обрабатывает структуру таблицы, я использую метод ExecuteQuery linq –