Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
olichka86
2 / 2 / 1
Регистрация: 29.10.2013
Сообщений: 80
#1

DataContext.Log = Console.Out не работает - C#

09.02.2016, 22:07. Просмотров 140. Ответов 0
Метки нет (Все метки)

Ребята, помогите понять, что происходит. Не работает логгинг в консоль в LINQ to SQL

Точнее, работает, если его прописать непосредственно в методе работающем с данными. А если просто в конструкторе - не работает.

Код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class LinqtoSqlUnitOfWork : DataContext, IUnitOfWork
    {    
        private readonly LinqtoSqlUserRepository _userRepo;
        private readonly LinqtoSqlRoleRepository _roleRepo;
 
        public LinqtoSqlUnitOfWork(string connectionString) : base (connectionString)
        {
            // Doesnt work!
            Log = Console.Out;
            _userRepo = new LinqtoSqlUserRepository(this);
            _roleRepo = new LinqtoSqlRoleRepository(this);
        }
 
        #region IUnitOfWork Implementation
 ........
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 class LinqtoSqlRoleRepository : IRoleRepository
    {
        private readonly Table<LRole> _localRoles;
        private readonly Table<UserRole> _userRoles;
 
        private readonly DataContext _context;
 
        public LinqtoSqlRoleRepository(DataContext context)
        {
            _localRoles = (Table<LRole>)context.GetTable(typeof (LRole));
            _userRoles = (Table<UserRole>)context.GetTable(typeof(UserRole));
            _context = context;
 
            // Doesn't work!
            _context.Log = Console.Out;
           
        }
 
        #region IRoleRepository implementation    
 
        public void Add(Role role)
        {
            // Only here works!
            _context.Log = Console.Out;
 
            using (var transaction = new TransactionScope())
            {
                if (_localRoles.Any(x => x.Id == role.Id))
                {
                    throw new InvalidOperationException($"Role with id = {role.Id} already exists in database");
                }
 
                _localRoles.InsertOnSubmit(Converter.RoleToLRole(role));
                
 
                transaction.Complete();
            }
        }
 
..........
}
Вообще-то я не планировала реппозиториям контекст передавать, а хотела обойтись уже готовыми таблицами.

А тут такая ерунда, понять не могу, почему, и что можно сделать.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос DataContext.Log = Console.Out не работает (C#):

MS SQL Multiple datacontext , отслеживание изменений - C#
Здравствуйте уважаемые форумчане. Есть элемент - datagrid с записями (записи берутся из таблицы в БД). С БД таблицей могут работать...

Привязка ComboBox к DataContext для отображения простых справочников - C#
Может, я конечно и ламер, но вот застряла совсем. Есть БД в SQL Server`e, для нее создан класс DataContext (LINQ to SQL) в приложении...

.NET 4.x Console -> ListView - C#
Всем привет, написал консольное приложение. Требуемую информацию в оnline выводил в консоль в виде лога событий (5-10 событий в секунду)....

MouseClick и Console - C#
Хочу чтобы програрама(консольная) реагировала на клики миши(например передавала координаты где был произведен клик) такое в консоли без...

console calculator - C#
Писал консольный калькулятор. После введения всех переменных и типа производимого действия благополучно выкидывает из программы. ...

Создание log файла - C#
Я работаю с бд через mysql. При работе у меня возникает необходимость проверки входных данных (обычная валидация), если обнаружены...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2016, 22:07
Привет! Вот еще темы с ответами:

C# Log файл и консольое приложение - C#
Есть консольное приложение на C#, работаюшее с базои данных. Хочу записать в log фаил возможные будующие ошибки(мало ли..). Пишу код ...

Убить неизвестный процесс (Console ) - C#
Хай репята) Пишу в консольке), Мне нужно, чтобы если в процессах появился неизвестный процесс, то убить его При этом не трогать...

Считать цифры в массив, console - C#
Привет всем, мне нужно после ввода цифр и нажатия ENTER считать их количество и занести их в массив сделал так String str =...

Почему в формуле O(n * log(n)) используется логарифм? - C#
Почему в формуле O(n * log(n)) используется логарифм,а не какая-либо другая функция?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru