Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8 9 10 .. 15   вперед  Ctrl
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu, а поставьте себе ReSharper.
26 окт 14, 12:01    [16760180]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Shocker.Pro
viton-zizu
Вот допустим нашел вот такую форму [Required]
это атрибут, а не форма, если так нечетко формулировать вопросы, можно много чего интересного узнать... кроме того, что нужно
viton-zizu
но мой интерпритатор не понимает этого поля, нужно через using что-то подрубить?
Нужно. А про Object Browser слышал что-нибудь?

Хорошая штука кстати, совсем забыл про него!))
26 окт 14, 15:59    [16760543]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
skyANA
viton-zizu, а поставьте себе ReSharper.

На сколько я знаю он платный)
26 окт 14, 16:00    [16760546]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu
skyANA
viton-zizu, а поставьте себе ReSharper.

На сколько я знаю он платный)
он бесплатен для обучения... не дорого стоит для индивидуальной разработки... да и торренты никто не отменял
26 окт 14, 16:18    [16760620]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Спасибо за совет, по ковыряю его!)
27 окт 14, 06:29    [16762045]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
Скорее это решарпер "поковыряет" Ваш код
27 окт 14, 08:17    [16762116]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Ребят, а подскажите ещё такой вопрос, я строку подключения к базе данных занес в Settings, и при подключении беру от туда, но начал писать "Настройки" хочу эту строку через настройки менять, а он ошибку выдает здесь:
Settings.Default.DbConnectionString = txtDBString.Text;

cannot be assigned to -- it is read only
28 окт 14, 07:41    [16765927]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu, Вы что, еще и английский не понимаете?
А строки подключения принято хранить в конфигурационном файле приложения (app.config, web.config), а не settings.
28 окт 14, 08:21    [16765952]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Я понимаю, поэтому и спрашиваю, как удачней переделать, про config app вот допустим не знал, реализовал через него, все отлично, но как его там можно править!?
28 окт 14, 08:28    [16765962]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu
Я понимаю, поэтому и спрашиваю, как удачней переделать, про config app вот допустим не знал, реализовал через него, все отлично, но как его там можно править!?
Очень просто:
using System.Configuration;
using System.Windows.Forms;

/// <summary>
/// Сохраняет изменённую строку подключения в файле конфигурации и обновляет соответствующую секцию,
/// чтобы при следующем обращении к ней последняя была считана с диска.
/// </summary>
private void DataSave()
{
    try
    {
        Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        ConnectionStringsSection section = configuration.ConnectionStrings;

        section.ConnectionStrings["Default"].ConnectionString = tbConnectionString.Text;

        configuration.Save(ConfigurationSaveMode.Modified);

        ConfigurationManager.RefreshSection(section.SectionInformation.Name);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, Resources.Caption_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}
28 окт 14, 09:08    [16766056]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu, и Вы для начала сами разобраться попробуйте. А то такое чувство складывается, что любой возникающий вопрос спешите на форуме задать.
28 окт 14, 09:10    [16766064]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu
про config app вот допустим не знал
Книжку уже купите себе.
28 окт 14, 09:11    [16766073]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
Изучаем C# - вот, как раз для Вас.
28 окт 14, 09:13    [16766085]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Да я конечно пытаюсь сам изучить вопрос, просто часто ошибки валяться, в которых довольно тяжело разобраться, допустим:
        public DbContext()
            : base(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)
        {
            Database.SetInitializer<DbContext>(new Initializer());
            Configuration.ProxyCreationEnabled = false;
        }

У меня валится на строчке с ConnectionString, с ошибкой: "Ссылка на объект не указывает на экземпляр объекта"
Хотя казалось бы в app config все присутствует:
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    </startup>
  <connectionStrings>
        <add name="ConnectionString" connectionString="Data Source=localhost;Initial Catalog=DB;Integrated Security=True;"/>
  </connectionStrings>
</configuration>


Если Делать через Settings таже самая строка отрабатывает...
        public DbContext()
            : base(Settings.Default.DbConnectionString)
        {
            Database.SetInitializer<DbContext>(new Initializer());
            Configuration.ProxyCreationEnabled = false;

        }
28 окт 14, 09:43    [16766233]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Ну вот, пришлось час про гуглить, чтобы узнать что я не тот appconfig правил) Изменял от приложения, а нужно было от библиотеки которая непосредственно с базой у меня работает))
28 окт 14, 10:25    [16766443]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
А вот ещё интересует такой интересный вопрос!

Если допустим мой сервер БД временно не доступен, я вот думаю как мне поступать в таком случае!? Создавать локальную базу а после появления линка сливать её в общую или у Энтити на этот счет есть какой нибудь интересный механизм?)
28 окт 14, 10:29    [16766473]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu
Ну вот, пришлось час про гуглить, чтобы узнать что я не тот appconfig правил) Изменял от приложения, а нужно было от библиотеки которая непосредственно с базой у меня работает))
Это что, жалоба? :)

Пришлось ему час погуглить, бедняжка. А мы ведь могли вмето этого в наш хрустальный шар посмотреть и увидеть там отчётливо, что код относится к какой-то библиотеке, а не приложению.

Книгу купите! Там разбирается по шагам как приложение написать.
28 окт 14, 10:45    [16766563]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu
А вот ещё интересует такой интересный вопрос!

Если допустим мой сервер БД временно не доступен, я вот думаю как мне поступать в таком случае!? Создавать локальную базу а после появления линка сливать её в общую или у Энтити на этот счет есть какой нибудь интересный механизм?)
Нету в Entity Framework никаких чудесных механизмов.
28 окт 14, 10:46    [16766576]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
skyANA
viton-zizu
А вот ещё интересует такой интересный вопрос!

Если допустим мой сервер БД временно не доступен, я вот думаю как мне поступать в таком случае!? Создавать локальную базу а после появления линка сливать её в общую или у Энтити на этот счет есть какой нибудь интересный механизм?)
Нету в Entity Framework никаких чудесных механизмов.

А по советуйте пожалуйста, есть ли смысл в описанном мной решении или может существует более рациональный вариант? Просто не хочется чтобы приложение навернулось, если БД не доступно)
29 окт 14, 06:10    [16770561]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
viton-zizu, Вы пытаетесь решить выдуманную проблему? В этом нет смысла.

А если реальну, то о чём вообще речь? О какой инфраструктуре?
Какой такой сервер ндоступен: в локальной сети, удалённый? Админы что предлагают?
29 окт 14, 08:27    [16770711]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21958
hVostt
Забудь навсегда про Include. Никогда не используй Include. Никогда. Слышышь?
hVostt, ты не ответил, почему? Как иначе подгрузить навигационные свойства в сущность?
30 окт 14, 15:28    [16777898]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
viton-zizu
Member [заблокирован]

Откуда:
Сообщений: 84
Shocker.Pro
hVostt
Забудь навсегда про Include. Никогда не используй Include. Никогда. Слышышь?
hVostt, ты не ответил, почему? Как иначе подгрузить навигационные свойства в сущность?

На самом деле тоже интересно! А то может он мульон лишних запросов к БД городит и можно как то это обойти)
31 окт 14, 04:58    [16780441]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
hVostt
Member

Откуда:
Сообщений: 18551
Shocker.Pro
hVostt, ты не ответил, почему? Как иначе подгрузить навигационные свойства в сущность?


Прям в сущность? Зачем? Лучше работать с проекцией:

var query = SomeRepository
   .Where(всякие условия)
   .OrderBy(всякая сортировка)
   Select(p => new {
        Id, Name, ComplexNavi1, ComplexNavi2,...
   });
 

return query.ToList();


усё

Берём токо то, что нужно.

Так конечно неудобно делать, лучше воркать с типизированными проекциями:

var query = SomeRepository
   .Where(всякие условия)
   .OrderBy(всякая сортировка);

var result = query.Project().To<SomeDataView>();

return result.ToList();


Это проекции Automapper, в SomeDataView поля, которые нам нужны. Также можно делать Flatten проекции (в одной плоскости):

ClientName <-- Client.Name
ClientCount <-- Client.Count

Ну и т.д.

Использование Include ничего не даёт на самом деле, кроме мнимого упрощения, которое затем приведёт к неизбежным проблемам в тестировании и сопровождении.
2 ноя 14, 19:07    [16790540]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
hVostt
Member

Откуда:
Сообщений: 18551
viton-zizu
На самом деле тоже интересно! А то может он мульон лишних запросов к БД городит и можно как то это обойти)


Чтобы это обойти надо делать точно также как в типичном SQL (брать только то, что реально нужно), только с помощью LINQ. Тогда запросы будут компактными и быстрыми.
2 ноя 14, 19:08    [16790543]     Ответить | Цитировать Сообщить модератору
 Re: Связь один к одному EF Code First  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28131
hVostt, я так понял, что человек хочет получить полный граф объекта, а ты ему только часть полей зачем-то предлагаешь :)
3 ноя 14, 09:50    [16791975]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8 9 10 .. 15   вперед  Ctrl
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить