首先,这只是至少一个SQL Server的EF Core支持的简单功能,但是对于Oracle(由Oracle实现的提供程序),我不确定是否支持该功能。
我只有这样的实体类:
Traceback (most recent call last):
File "/home/source/fork/PySpark_Analytics/Notebooks/Krish/beryllium_pandas.py", line 54, in <module>
dffsamelname = dffsameflname.drop_duplicates(subset=['INDIVIDUAL_LASTNAME'], keep=False)
File "/var/webeng/opensource/aetna-anaconda/lib/python2.7/site-packages/pandas/util/decorators.py", line 88, in wrapper
return func(*args, **kwargs)
TypeError: drop_duplicates() got an unexpected keyword argument 'keep'
问题是如何配置EF核心以在每次插入时自动将数据库的日期生成为# Trying to drop both the records with same last name
dffsamelname = dffsameflname.drop_duplicates(subset=['INDIVIDUAL_LASTNAME'], keep=False)
,而不必在客户端设置该值?
这是我尝试过的:
public class Item {
public int Id {get;set;}
public DateTime CreatedDateUtc {get;set;}
}
但是在运行CreatedDateUtc
之后,生成的类就是这样的空的:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Item>()
.Property(e => e.CreatedDateUtc)
.ValueGeneratedOnAdd();
}
因此,实际上该配置不执行任何操作(不支持?)。
同样,第一件事是生成日期时间值,第二重要是生成 UTC 日期时间值。我相信第一个要求的可行性,而第二个要求至少对于Oracle EF Core似乎不可行? (昵称:add-migration
)。
如果您有满足第一要求的解决方案,即使无法满足第二要求,也请共享。至少我们需要一些解决方法。谢谢。
答案 0 :(得分:0)
尝试一下-
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Item>()
.Property(b => b.CreatedDateUtc)
.HasDefaultValueSql("GETUTCDATE()");
}