C# 有没有办法表明DateTime对象只有日期值?
在数据库中,有些字段是TimeStamp,有些字段是Date,这意味着有些字段同时接受日期和时间,有些字段只接受日期 我正在尝试编写一个帮助器类,该类可以通过数据对象的属性通过iternate生成SQL,并通过属性的数据类型生成适当的SQL 比如说,表“someDateTimeline”有时间戳字段“A_TimeStamp”和日期字段“A_Date” 然后,我的数据对象有两个属性,“public DateTime A_TimeStamp”和“public DateTime A_Date” 但因为C#只有DateTime。。。我的程序无法区分是DateTime属性表示数据库字段是TimeStamp还是Date 我想知道是否有什么办法可以实现它 我只能想到…或者创建另一个具有DateTime参数的类来指示它是日期类型。。。或者检查时间是否为00:00:00C# 有没有办法表明DateTime对象只有日期值?,c#,C#,在数据库中,有些字段是TimeStamp,有些字段是Date,这意味着有些字段同时接受日期和时间,有些字段只接受日期 我正在尝试编写一个帮助器类,该类可以通过数据对象的属性通过iternate生成SQL,并通过属性的数据类型生成适当的SQL 比如说,表“someDateTimeline”有时间戳字段“A_TimeStamp”和日期字段“A_Date” 然后,我的数据对象有两个属性,“public DateTime A_TimeStamp”和“public DateTime A_Date” 但因为
但这两条路似乎都是。。。。不那么聪明 您可以创建自己的类型(应该是不可变的)或使用属性。在我看来,这更多地是与模式而不是特定值相关联的;i、 e.列通常是所有日期与日期时间,而不是一列中的单个单元格 有了这个工作假设(可能不适合您的场景),我可能会使用元数据,例如(但不限于):
然后,您可以使用
属性.IsDefined(member,typeof(DateOnlyAttribute))
查看它是否为每个成员设置。(假设您使用的是SQL Server)请确保区分时间戳、日期时间和日期。顺便说一句,时间戳数据类型是不透明的:它是由服务器生成的,不能作为日期数据读取。谢谢,太好了,这就是我想要做的。我现在学到了一些东西,再次感谢!
[DateOnly]
public DateTime Foo {get;set;}
...
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property,
AllowMultiple=false,Inherited=true)]
public class DateOnlyAttribute : Attribute {}