简体   繁体   English

无法在 EF 访问的存储过程中将 NVARCHAR 转换为 datetime2

[英]Cannot convert NVARCHAR to datetime2 in stored procedure accessed by EF

I am trying to execute a stored procedure from C#我正在尝试从 C# 执行存储过程

var dt = new SqlParameter("ExportedOn", DateTime.Now);
context.Database.ExecuteSqlCommand("EXEC LogDataExport @ExportedOn", dt);

Stored procedure:存储过程:

CREATE PROCEDURE LogDataExport
    (@ExportedOn DATETIME2)
AS 
    INSERT INTO dbo.DataExportLogging (Id, ExportedOn, Description, Text)
        SELECT 1, @ExportedOn, 'asd', 'dsasadfsdag'
GO

I get an error that dt cannot be converted from NVARCHAR to Datetime2 .我收到一个错误,即dt无法从NVARCHAR转换为Datetime2

If you like server side solution you can set-up the dbo.DataExportLogging.ExportedOn column default value as getdate() .如果您喜欢服务器端解决方案,您可以将dbo.DataExportLogging.ExportedOn列默认值设置为getdate()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM