Я пишу DLL для одного проекта, я только начал использовать LINQ to SQL и после перемещения всех методов в эту новую DLL. Я обнаружил, что не могу получить доступ к DataContext, потому что он был удален, я понимаю, почему, но я не уверен, как я могу обработать результаты запроса для моего основного метода проекта так:
Мой метод в DLL
public static IEnumerable<Problem> GetProblemsNewest(int howMuch)
{
using (ProblemClassesDataContext context = new ProblemClassesDataContext())
{
var problems = (from p in context.Problems orderby p.DateTimeCreated select p).Take(howMuch);
return problems;
}
}
Называя это:
IEnumerable<Problem> problems = ProblemsManipulation.GetProblemsNewest(10);
//Error can't acess it because it was disposed..
Это только первый метод, у меня есть более крупные, поэтому мне действительно нужен способ сделать это. Должен быть способ использовать LINQ to SQL в DLL? Я знаю, что могу сделать что-то вроде .ToList
или .ToArray
, но тогда я не смогу напрямую получить доступ к свойствам строки, и мне пришлось бы ссылаться на это как на проблему [0], проблему [1] и т. Д., Что еще более беспорядочно чем иметь тон кода в основном проекте.