I have a SQL Table with TimeStamp
Column. The corresponding EF entity is below
public partial class Request : IEntityBase
{
public Request()
{
}
public int RequestID { get; set; }
public Nullable<int> BatchID { get; set; }
public string ClientID { get; set; }
public Nullable<System.DateTime> CreatedDateTime { get; set; }
public Nullable<System.DateTime> ModifiedDateTime { get; set; }
public byte[] VersionStamp { get; set; }
}
The VersionStamp
property has datatype timestamp
is sql
In C# i create a new entity and call savechanges()
var request = new Request()
{
ClientID = "XYZ",
CreatedDateTime = DateTime.Now,
ModifiedDateTime = DateTime.Now,
};
await _DBContext.SaveChangesAsync().ConfigureAwait(false);
But i get error
"Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column."
I am not setting timestamp
anywhere in the code. I was expecting SQL will automatically update the column value
Insert the date with the TO_DATE function. SQL> INSERT INTO table_dt VALUES(4, TO_DATE('01-JAN-2003', 'DD-MON-YYYY')); Display the data. Set the timestamp format.
MySQL TIMESTAMP() Function The TIMESTAMP() function returns a datetime value based on a date or datetime value. Note: If there are specified two arguments with this function, it first adds the second argument to the first, and then returns a datetime value.
For EF Core 2.0 (and propably EF Core 1.0 as well) you have to specify timestamp/version property inside DbContext/OnModelCreating mehod.
Below you can find sample specification for the "Request" type.
modelBuilder.Entity<Request>(entity =>
{
entity.ToTable("Requests"); // Depends on your table name
entity.HasKey(e => e.RequestID) // If you have a primary key
.HasName("PK_Requests");
entity.Property(e => e.VersionStamp)
.IsConcurrencyToken() // If you want to handle concurrency
.ValueGeneratedOnAddOrUpdate(); // This is important
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With