В моей системе 3 модели
Public class Company {Id,Name}//Already have data
Public Class User {Id, Name}//Already have data
Public Class Department {Id,Name,CompanyId,UserId,Public Company Companies,Public User Users}
Теперь я хочу создать данные Seed для моей модели отдела.Код внутри моего начального класса данных;
if(!context.Department.Any()){
try {
var departments = new Department[]{
new Department{ComapnyId=context.Companies.Single(s => s.Name=="Stackoverflow").Id,
UserId =context.Users.Single(s => s.Name=="Admin").Id, Name="IT"}
};
foreach (Department department in departments)
{
context.Department.Add(department);
}
context.SaveChanges();
}catch (Exception e)
{
throw new Exception(e.Message);
}//End Try and Catch
}//End If
Теперь мой метод сохранения проблемы всегда отбрасывает исключение.
Что я делаю неправильно ??
Моя Stacktrace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое breakConnection, действие 1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource
1 завершение, тайм-аут Int32, задача и задача, логический asyncWrite, метод String) в System.Data.SqlClimand.Exq.(поведение CommandBehavior) при System.Data.SqlClient.SqlCommand.ExecuteDbDataReader (поведение CommandBehavior) при System.Data.Common.DbCommand.ExecuteReader () в Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute (IRelationalConnection связи, DbCommandMethod ExecuteMethod, IReadOnlyDictionary2 parameterValues)
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary
2 parameterValues) в Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute (соединение IRelationalConnection) --- Конец внутренней трассировки стека исключений --- `