powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EntityFramework mapping
4 сообщений из 4, страница 1 из 1
EntityFramework mapping
    #38702972
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Подскажите пожалуйста, как организовать связь один ко многим двух таблиц (File и Sp).

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
//File.cs
public class File
{
    public int Id { get; set; }
    public string Name { get; set; }
    
    // Это я так пробывал организовать так эту связь, только ничего не вышло.
    public Sp Id_sp { get; set; }
    //
}

//Sp.cs
public class Sp
{
    public int Id { get; set; }
    public string Name { get; set; }
}


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
//FileMap.cs
public class FileMap : EntityTypeConfiguration<File>
{
    public FileMap()
    {
        ToTable("FILE");
        HasKey(x => x.Id);
        Property(x => x.Name).HasColumnName("NAME");
    }
}

//SpMap.cs
public class SpMap : EntityTypeConfiguration<Sp>
{
    public SpMap()
    {
        ToTable("SP_TABLE");
        HasKey(x => x.Id);
        Property(x => x.Name).HasColumnName("NAME");
    }
}


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class TestDb : DbContext
{
    // ...  
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new FileMap());
        modelBuilder.Configurations.Add(new SpMap());
        base.OnModelCreating(modelBuilder);
    }
}
...
Рейтинг: 0 / 0
EntityFramework mapping
    #38703046
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
EntityFramework mapping
    #38788127
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите пожалуйста что я еще не указал. Или может где ошибку допустил.
Организую связь один ко многим. ( File(1 row) -> Sp(m row) ).

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
//File.cs
public class File
{
    public int Id { get; set; }
    public string Name { get; set; }
    
    public ICollection<Sp> Sps { get; set; }
}

//Sp.cs
public class Sp
{
    public int Id { get; set; }
    public int FileId { get; set; }
    public File File { get; set; }
}



Сам mapping
Код: 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.
//mapping File
class File :  EntityTypeConfiguration<File>
{
    public File()
    {
         ToTable("File", "dbo");
         HasKey(x => x.Id);

         Property(x => x.Id).HasColumnName("ID");
         Property(x => x.Name).HasColumnName("NAME");
    }
}

//mapping Sp
class Sp :  EntityTypeConfiguration<Sp>
{
    public Sp()
    {
         ToTable("Sp", "dbo");
         HasKey(x => x.Id);

         Property(x => x.Id).HasColumnName("ID");
         Property(x => x.FileId).HasColumnName("FILE_ID");

        //Когда пытаюсь это все связать, орет ошибку!!!
        HasOptional(d => d.File).WithMany(d => d.Sps).HasForeingKey(d => d.FileId).WillCascadeOnDelete(false);
    }
}



Текст ошибки:
авторOne or more validation errors were detected during model generation. Because all of the properties in the dependent role are non-nullable, multiplicity of the principal role must be 1.
перевод: Одна или более ошибки при проверке были обнаружены в процессе создания модели. Потому что все свойства в зависимой роли non-nullable, кратности главной роли должен быть 1.
...
Рейтинг: 0 / 0
EntityFramework mapping
    #38788244
Nechto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Парадокс, но на поставленный мною вопрос, помог знак (?)
:)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EntityFramework mapping
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]