C# 将字符串转换为datetime2

C# 将字符串转换为datetime2,c#,sql-server,datetime2,C#,Sql Server,Datetime2,Iam使用一个通过通信协议获取数据的应用程序,在我获取的数据中有日期,我设法以这种形式将其形成一个字符串日期: "dd/MM/yyyy HH:mm:ss.mmm" 我想将其插入数据库: updateEvent_list = "INSERT INTO Events_List (date, Object,Event,IOA,ASDU) VALUES(@date, @event_object, @Event, @IOA, @ASDU)"; date列属于datetime2类型 问题是:如何将获取的

Iam使用一个通过通信协议获取数据的应用程序,在我获取的数据中有日期,我设法以这种形式将其形成一个字符串日期:

"dd/MM/yyyy HH:mm:ss.mmm"
我想将其插入数据库:

updateEvent_list = "INSERT INTO Events_List (date, Object,Event,IOA,ASDU) VALUES(@date, @event_object, @Event, @IOA, @ASDU)";
date列
属于
datetime2
类型

问题是:如何将获取的字符串转换为
datetime2

编辑:

事实上,我要插入两种类型的日期: 1) 带有时间标签的帧:我将日期转换为字符串的帧。 2) 没有时间标签的帧:Iam使用
DateTime date=DateTime.UtcNow

当它们独立实现时,每一个都能完美地工作


是否有任何解决方案允许在同一程序中同时使用这两种方法

您可以使用
CAST

"INSERT INTO Events_List (date, Object,Event,IOA,ASDU) VALUES(CAST(@date as DATETIME2), @event_object, @Event, @IOA, @ASDU)";

通过使用参数化查询,这不应该自动发生吗?“设法从中形成一个字符串日期”,进一步将其转换为c#DateTime,并以方便的方式将该日期传递给sql cmd