Entity Framework: неверное имя столбца *_ID1, часть 2C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Entity Framework: неверное имя столбца *_ID1, часть 2

Сообщение Anonymous »

У меня новая работа, и мне нужно продолжить разработку программного обеспечения, которое уже работает.
Проблема, и я пробовал все подобные сообщения, заключается в том, что когда я попробуйте запросить таблицу, мне сообщат, что возникла ошибка с UserId1. Дело в том, что это поле UserId, и я не понимаю, куда отображается это имя UserId1.
ОШИБКА

Код: Выделить всё

Microsoft.Data.SqlClient.SqlException: 'Invalid column name 'UserId1'.'
Microsoft.Data.SqlClient.SqlException
HResult=0x80131904
Message=Invalid column name 'UserId1'.
Source=Core Microsoft SqlClient Data Provider
StackTrace:
at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at Microsoft.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at Microsoft.Data.SqlClient.SqlDataReader.get_MetaData()
at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at ...
Я пробовал разные способы объявления внешнего ключа, как видел в другом сообщении, но не смог заставить его работать.
Я использую scaffold для создания модели.
Запрос:

Код: Выделить всё

model = x.Where(x => x.UserId == userId).FirstOrDefault();
Контекст:

Код: Выделить всё

modelBuilder.Entity(entity =>
{
entity.HasIndex(e => e.CompanyId, "IX_CompanyId");
entity.HasIndex(e => e.ExternalIdlHash, "IX_ExternalIdlHash");
entity.HasIndex(e => e.UserId, "IX_UserId");

entity.Property(e => e.Abn).HasColumnName("ABN");
entity.Property(e => e.ExternalId).HasMaxLength(20);

entity.Property(e => e.IsContractor)
.IsRequired()
.HasDefaultValueSql("(CONVERT([bit],(0)))");

entity.Property(e => e.Tfn).HasColumnName("TFN");

entity.HasOne(d => d.Company)
.WithMany(p => p.UserRoles)
.HasForeignKey(d => d.CompanyId)
.HasConstraintName("FK_dbo.UserRoles_dbo.Companies_CompanyId");

entity.HasOne(d => d.User)
.WithMany(p => p.UserRoles)
.HasForeignKey(d => d.UserId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_dbo.UserRoles_dbo.Users_UserId");
});
Класс модели:

Код: Выделить всё

public partial class UserRole
{
public int Id { get; set; }
public DateTime CreatedAt { get; set; }
public int UserId { get; set; }
public int Role { get; set; }
public int? CompanyId { get; set; }
public double? Rate { get; set; }
public string? ExternalId { get; set; }
public int? ExternalIdlHash { get; set; }
public string? Abn { get; set; }
public string? Address { get; set; }
public double? AwardRate { get; set; }
public string? Tfn { get; set; }
public bool? IsContractor { get; set; }

public virtual Company? Company { get; set; }
public virtual User User { get; set; } = null!;
}
Я перепробовал все подобные посты. На самом деле я скопировал заголовок из другого поста, но заставить его работать не удалось.

Подробнее здесь: https://stackoverflow.com/questions/781 ... id1-part-2
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Entity Framework — неверное имя столбца «*_ID»
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Entity Framework — неверное имя столбца «*_ID»
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • EF Core создает теневое свойство «Id1» при миграции
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Недопустимое имя столбца в Entity Framework Core
    Anonymous » » в форуме C#
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Недопустимое имя столбца в Entity Framework Core
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»