Re[2]: DLINQ и контекстное соединение MS SQL Server 2005
От: Amba  
Дата: 29.08.06 14:48
Оценка:
Здравствуйте, Красин, Вы писали:

К>Здравствуйте, Amba, Вы писали:


К>А можно кусочек кода посмотреть, на котором можно будет вопроизвести проблему?


Не вопрос:
как грицо ингридиенты: VS2005, LINQ CTP May 2006, SQL Server 2005, БД на сервера содержит наипростейшую таблицу с числовым и строковым полями, числовое — автоикрементируемое.
строка для запуск меппера для базы данных:
"C:\Program Files\LINQ Preview\Bin\SqlMetal.exe" /server:имя_сервера /database:название_БД /code:"D:\Projects\Путь_к_тестовому_проекту\OurDbContext.cs" /namespace:SomeCompany.SomeProject.SqlDataMapping /sprocs /pluralize
созданный файлик с классом-описанием нашей базы данных помещаем в отдельную сборку, которую подлкючаем затем к обоим проектам
на сервер загружаем сборки System.Data.DLing.dll и System.Query.dll
и в оба проекта добавляем на них сцылки
— код хранимой процедуры:
     [SqlProcedure]
        public static int clrsp_SubjectTest(out string message)
        {
            message = null;
            using (SqlConnection connection = new SqlConnection("Context connection = true"))
            {
                try
                {
                    connection.Open();
                    OurDbContext context = new OurDbContext(connection);
                    Subject subject = new Subject();
                    subject.Value = "test subject";
                    context.Subjects.Add(subject);
                    context.SubmitChanges();
                    return (int)StoredProcedureReturnCodes.Success;
}
                catch (Exception e)
                {//приходим сюда
                    message = e.Message;
                    return (int)StoredProcedureReturnCodes.Error;
                }
}
}

— код для работы с клиентской стороны:
     public void SubjectTest()
        {
OurDbContext DbContext = new OurDbContext(обычная строка подключения с вашему серверу);
            string msg = null;
            try
            {
                Subject subject = new Subject();
                subject.Value = "test subject";
                DbContext.Subjects.Add(subject);
                DbContext.SubmitChanges();// проходит нормально
            }
            catch (Exception e)
            {
                msg = e.Message;
            }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.