Как сделать linq to sql классы внутренними или приватными? - PullRequest
2 голосов
/ 24 декабря 2009

Я нашел этот вопрос / ответ об установке linq для классов sql как внутренних, но я обнаружил, что классы, сгенерированные для возвращаемых типов хранимых процедур, устанавливаются как открытые, и хотя я установил доступ модификатор для хранимой процедуры и класс конкурса данных как внутренний, сгенерированный класс для хранимого процесса все еще общедоступен. Как я могу сделать это внутренним. Я делаю это в отдельной сборке слоя доступа к данным, поэтому я не хочу, чтобы эти классы были доступны для приложений.

1 Ответ

1 голос
/ 24 декабря 2009

Создание частичных классов для вызова хранимых процедур. Я бы сгенерировал код как обычно, затем вставил бы их в отдельный файл и затем удалил хранимые процедуры из области проектирования. Затем вы можете установить модификаторы доступа, как вы хотите. Это также полезный метод для работы с хранимыми процедурами, где LINQ to SQL не генерирует классы, как вы ожидаете, например, те, которые используют временные таблицы.

внутренний частичный класс DataClasses2DataContextExtended: System.Data.Linq.DataContext {

    [Function(Name="dbo.SPDEMO")]
    internal ISingleResult<SPDEMOResult> SPDEMO()
    {
        IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())));
        return ((ISingleResult<SPDEMOResult>)(result.ReturnValue));
    }
}

internal partial class SPDEMOResult
{

    public SPDEMOResult()
    {
    }

    public System.Nullable<int> FilmID
    { get; set; }


    public string FilmName
    { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...