Сейчас я работаю над проектом, использующим Entity Framework Core в приложении .NET Core. У меня возникли проблемы с определением зависимой стороны в однозначном отношении между сущностями «Пользователь» и «Учетная запись». Я попробовал настроить сущности и их отношения в соответствии с установленными стандартами, но столкнулся с ошибкой:
Не удалось определить зависимую сторону для одной Связь
-к-одному между «Account.User» и «User.Account». Чтобы определить
зависимую сторону связи, настройте свойство внешнего ключа
...
Мои классы конфигурации выглядят следующим образом :
public class User : BaseModel
{
public Account Account { get; set; }
public int AccountId { get; set; }
}
public class Account : BaseModel
{
public User User { get; set; }
public int UserId { get; set; }
}
public class UserConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasOne(u => u.Account)
.WithOne(a => a.User)
.HasForeignKey(a => a.UserId);
}
}
public class AccountConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasOne(a => a.User)
.WithOne(u => u.Account);
}
}
CREATE TABLE [dbo].[Accounts] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[UserId] INT NOT NULL,
CONSTRAINT [PK_Accounts] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Accounts_Users] FOREIGN KEY ([UserId]) REFERENCES [dbo].[Users] ([Id]) ON DELETE CASCADE
);
GO
CREATE INDEX [IX_Accounts_UserId] ON [dbo].[Accounts] ([UserId]);
CREATE TABLE [dbo].[Users] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[AccountId] INT NULL, -- This can be NULL if we set the FK on the Account table
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Users_Accounts] FOREIGN KEY ([AccountId]) REFERENCES [dbo].[Accounts] ([Id]) ON DELETE NO ACTION
);
GO
CREATE INDEX [IX_Users_AccountId] ON [dbo].[Users] ([AccountId]);
Подробнее здесь: https://stackoverflow.com/questions/785 ... ity-framew
Проблемы с определением зависимой стороны в отношениях «один к одному» с ядром Entity Framework ⇐ C#
Место общения программистов C#
1716123851
Anonymous
Сейчас я работаю над проектом, использующим Entity Framework Core в приложении .NET Core. У меня возникли проблемы с определением зависимой стороны в однозначном отношении между сущностями «Пользователь» и «Учетная запись». Я попробовал настроить сущности и их отношения в соответствии с установленными стандартами, но столкнулся с ошибкой:
Не удалось определить зависимую сторону для одной Связь
-к-одному между «Account.User» и «User.Account». Чтобы определить
зависимую сторону связи, настройте свойство внешнего ключа
...
Мои классы конфигурации выглядят следующим образом :
public class User : BaseModel
{
public Account Account { get; set; }
public int AccountId { get; set; }
}
public class Account : BaseModel
{
public User User { get; set; }
public int UserId { get; set; }
}
public class UserConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasOne(u => u.Account)
.WithOne(a => a.User)
.HasForeignKey(a => a.UserId);
}
}
public class AccountConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasOne(a => a.User)
.WithOne(u => u.Account);
}
}
CREATE TABLE [dbo].[Accounts] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[UserId] INT NOT NULL,
CONSTRAINT [PK_Accounts] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Accounts_Users] FOREIGN KEY ([UserId]) REFERENCES [dbo].[Users] ([Id]) ON DELETE CASCADE
);
GO
CREATE INDEX [IX_Accounts_UserId] ON [dbo].[Accounts] ([UserId]);
CREATE TABLE [dbo].[Users] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[AccountId] INT NULL, -- This can be NULL if we set the FK on the Account table
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Users_Accounts] FOREIGN KEY ([AccountId]) REFERENCES [dbo].[Accounts] ([Id]) ON DELETE NO ACTION
);
GO
CREATE INDEX [IX_Users_AccountId] ON [dbo].[Users] ([AccountId]);
Подробнее здесь: [url]https://stackoverflow.com/questions/78502586/trouble-determining-dependent-side-in-one-to-one-relationship-with-entity-framew[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия