C# Add metodunun çalışmaması

emircanunlts

Megapat
Süper Moderatör
Katılım
7 Nisan 2019
Mesajlar
9.146
Makaleler
3
Çözümler
56
Arkadaşlar, sorunum şöyle. Car Rental adlı projemi geliştirmeye devam ediyorum ve bir kiralama sistemi kurdum. Fakat program üzerinde yaptığım "Add" methodu çalışmıyor. SQL Server üzerinden Identity Specifiation'u açmam söylendi. Ben de açtım ve daha karmaşık olaylarla karşılaştım.

Add methodu olmadan sistem sadece SQL Server'da elimle eklediğim bilgileri bana getiriyor.

Add methodunu varken, Identity Specifiation'u açtığım için garip yazılar gösteriyor. Bu ayarı açmadan önce de bir sonuç vermiyordu, yine el ile girdiğim sonuçları veriyordu.

Bu method neden çalışmıyor olabilir ?

Resimleri bırakıyorum, umarım anlatabilmişimdir.
addmethodlu.png
addmethodsuz.png
addmethodu.png
 
Son düzenleyen: Moderatör:
Add methodunu varken, Identity Specifiation'u açtığım için garip yazılar gösteriyor. Bu ayarı açmadan önce de bir sonuç vermiyordu, yine el ile girdiğim sonuçları veriyordu.
Identity Specifiation, tüm verilere otomatik ID verir. Gördüğüm üzere siz manuel vermeye çalışıyorsunuz. "CarId" alanını girmeyerek ekleme işlemini gerçekleştirmeyi deneyin.

1614162944029.png


Eğer bu Rental tablosunun ID kolunu değilse o zaman ID kolununu belirtmemiş olabilirsiniz. Birincil anahtar olarak.

Bunun dışında @bitwise'ın dediği gibi hatayı tamamen paylaşmanız gerekiyor.
 
Identity Specifiation, tüm verilere otomatik ID verir. Gördüğüm üzere siz manuel vermeye çalışıyorsunuz. "CarId" alanını girmeyerek ekleme işlemini gerçekleştirmeyi deneyin.

Eki Görüntüle 893893

Eğer bu Rental tablosunun ID kolunu değilse o zaman ID kolununu belirtmemiş olabilirsiniz. Birincil anahtar olarak.

Bunun dışında @bitwise'ın dediği gibi hatayı tamamen paylaşmanız gerekiyor.
Hocam ID vermemeyi de denedim, aynı garip sonucu veriyor tekrar.
 
ID kolonunu birincil anahtar olarak belirlediniz mi, tüm hatayı buraya kopyala yapıştır ile atar mısınız?
C#:
Unhandled exception. Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
 ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Cannot insert explicit value for identity column in table 'Rentals' when IDENTITY_INSERT is set to OFF.
   at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at Microsoft.Data.SqlClient.SqlInternalConnection.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 shouldCacheForAlwaysEncryp
ted)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean isAsync, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlData
Reader ds, Boolean describeParameterEncryptionRequest)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean a
syncWrite, Boolean inRetry, String method)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at Microsoft.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader()
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection connection)
ClientConnectionId:8416eff1-4bee-4ca3-9ff1-eae8f528d401
Error Number:544,State:1,Class:16
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.Execute(IEnumerable`1 commandBatches, IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChanges(IList`1 entries)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IList`1 entriesToSave)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(DbContext _, Boolean acceptAllChangesOnSuccess)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(Boolean acceptAllChangesOnSuccess)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChanges()
   at Core.DataAccess.EntityFramework.EfEntityRepositoryBase`2.Add(TEntity entity) in C:\Users\Emir\source\repos\CarRentalProject\Core\DataAccess\EntityFramework\EfEntityRepositoryBase.cs:line 21
   at Business.Concrete.RentalManager.Add(Rental rental) in C:\Users\Emir\source\repos\CarRentalProject\Business\Concrete\RentalManager.cs:line 44
   at ConsoleUI.Program.Main(String[] args) in C:\Users\Emir\source\repos\CarRentalProject\CarRentalProject\Program.cs:line 24

Process finished with exit code -532,462,766.
 

Yeni konular

Geri
Yukarı