Oracle EF Core-如何配置要自动生成的datetime列?

时间:2019-06-19 22:04:21

标签: c# oracle entity-framework-core

首先,这只是至少一个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)。

如果您有满足第一要求的解决方案,即使无法满足​​第二要求,也请共享。至少我们需要一些解决方法。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试一下-

protected override void OnModelCreating(ModelBuilder modelBuilder)
   {
          modelBuilder.Entity<Item>()
               .Property(b => b.CreatedDateUtc)
               .HasDefaultValueSql("GETUTCDATE()");
    }
相关问题