相关疑难解决方法(0)

SQL Server中1/1/1753的重要性是什么?

为什么1753?他们对1752有什么看法?我伟大伟大伟大曾伟大的曾祖父会非常生气.

t-sql sql-server datetime localization internationalization

453
推荐指数
5
解决办法
12万
查看次数

如何使用DbContext和SetInitializer修复datetime2超出范围的转换错误?

我正在使用Entity Framework 4.1中引入的DbContext和Code First API.

数据模型使用的基本数据类型,如stringDateTime.我在某些情况下使用的唯一数据注释是[Required],但这不是任何DateTime属性.例:

public virtual DateTime Start { get; set; }
Run Code Online (Sandbox Code Playgroud)

的DbContext子类也很简单,看起来像:

public class EventsContext : DbContext
{
    public DbSet<Event> Events { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Event>().ToTable("Events");
    }
}
Run Code Online (Sandbox Code Playgroud)

初始化设置日期在模型中有意义的值在今年或明年.

但是,当我运行初始化程序时,我收到此错误context.SaveChanges():

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.该语句已终止.

我不明白为什么会发生这种情况,因为一切都很简单.我也不确定如何解决它,因为没有edmx文件可以编辑.

有任何想法吗?

.net c# entity-framework ef-code-first dbcontext

132
推荐指数
7
解决办法
16万
查看次数

SqlDateTime.MinValue!= DateTime.MinValue,为什么?

我想知道,为什么SqlDateTime.MinValue与DateTime.MinValue不一样?

.net sql-server datetime types

69
推荐指数
5
解决办法
5万
查看次数

保存不公开其关系的外键属性的实体时发生错误

Entity Framework 4.1首先在代码中有一个简单的代码:

PasmISOContext db = new PasmISOContext();
var user = new User();
user.CreationDate = DateTime.Now;
user.LastActivityDate = DateTime.Now;
user.LastLoginDate = DateTime.Now;
db.Users.Add(user);

db.SaveChanges();
user.Avatar = new Avatar() { Link = new Uri("http://myUrl/%2E%2E/%2E%2E") };
db.SaveChanges();


db.Users.Add(new User() { Avatar = new Avatar() { Link = new Uri("http://myUrl/%2E%2E/%2E%2E") } });
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

问题是我收到了错误

保存不公开其关系的外键属性的实体时发生错误.EntityEntries属性将返回null,因为无法将单个实体标识为异常的来源.通过在实体类型中公开外键属性,可以更轻松地在保存时处理异常.有关详细信息,请参阅InnerException.

db.Users.Add(new User() { Avatar = new Avatar() { Link = new Uri("http://myUrl/%2E%2E/%2E%2E") } });
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

我不明白为什么类似的操作有效.我的模型或ef-code-first首先出现了问题吗?

public class Avatar
{
    [Key]
    public int Id { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-code-first entity-framework-4.1

50
推荐指数
3
解决办法
8万
查看次数

首先使用EF代码将datetime2数据类型转换为日期时间数据类型错误?

我首先在我的asp.net mvc应用程序中使用EF代码.这是我的代码:

Request.RequestDate = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

RequestDate的类型是我的数据库中的datetime.这是我使用上面代码时发生的错误!:

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.

请帮我.谢谢.

c# entity-framework sql-server-2008 ef-code-first entity-framework-4.3

13
推荐指数
2
解决办法
4万
查看次数

如何将datetime2转换为datetime

我正在尝试将datetime2转换为datetime,以便仅使用SQL或SSIS在不同源之间创建标准以下面的SQL查询为例:

SELECT CAST(offer_start_date AS datetime)
FROM [ODS].[macaclient_offers]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:'不允许从数据类型datetime2到timestamp的显式转换.

此外,我确实设法使用简单的强制转换将datetime2转换为日期.

使用SQL Server 2008或SSIS将datetime2转换为datetime的正确方法是什么?

gilibi

sql datetime ssis

7
推荐指数
2
解决办法
4万
查看次数

当值为 null 时,实体框架 6 中的可为 Null DateTime 属性在保存时会引发异常

DateTime我在我的一个类中定义了一个 Nullable属性:

public DateTime? ControlDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

当使用 EF 6 CodeFirst 从我的模型生成数据库 (SQL Server 2008) 时,我得到:

控制日期为空

问题是,当我保存实例时,ControlDate=null出现以下异常:

conversion of a datetime2 data type to a datetime data type
resulted in an out-of-range value
Run Code Online (Sandbox Code Playgroud)

我读过多篇相关的帖子和​​文章,说这种情况通常发生在您定义不可为空的 DateTime 属性并尝试在之前未设置有效日期的情况下保存它时,有些人建议将该属性设置为可空,以防属性值可以为空。 null(这是我的特殊情况)。

我的问题是:当我的属性和列类型可为空时,为什么 EF 会尝试设置默认日期。Null 应该是一个有效值,并且应该一直流到数据库,中间没有任何其他转换。

这里有一篇相关文章:Conversion of a datetime2 data type to a datetime data type results out-of-range value

编辑::这是一个非常相似的问题。非常详细的解释,如果有人感兴趣的话。

经验教训: 只是想澄清一下,仔细观察后,我发现这是我这边的问题。在保存我的对象之前,它被设置为:

myObject.ControlDate = new DateTime()
Run Code Online (Sandbox Code Playgroud)

在检查时,它显示了默认的不兼容日期1/1/0001。众所周知,这是导致此异常的原因。所以我的结论是:

  • 声明不可为 null 的属性的模型DateTime将在 SQL Server …

.net c# datetime entity-framework-6

4
推荐指数
1
解决办法
1万
查看次数