Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
olichka86
2 / 2 / 2
Регистрация: 29.10.2013
Сообщений: 80
#1

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

09.02.2016, 22:07. Просмотров 160. Ответов 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
Ответы с готовыми решениями:

Multiple datacontext , отслеживание изменений
Здравствуйте уважаемые форумчане. Есть элемент - datagrid с записями (записи...

DataContext, база обновляется только после перекомпиляции
Все-же это не та-е самая проблема. /// &lt;summary&gt; /// Class that...

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

console calculator
Писал консольный калькулятор. После введения всех переменных и типа...

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

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

Console -> ListView
Всем привет, написал консольное приложение. Требуемую информацию в оnline...

Создание log файла
Я работаю с бд через mysql. При работе у меня возникает необходимость проверки...

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


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

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

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