C# 从模型中的DateTimeOffset提取时间>;视图模型映射

C# 从模型中的DateTimeOffset提取时间>;视图模型映射,c#,linq-to-entities,epplus-4,C#,Linq To Entities,Epplus 4,我试图删除Excel导出中DateTimeOffset字段的时间部分,但无法使其正常工作 下面是我用来显示的字段: [DataType(DataType.DateTime)] [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)] public DateTime ProjectStartDate { get; set; } 这是我从中映射的字段: public DateTimeOffs

我试图删除Excel导出中DateTimeOffset字段的时间部分,但无法使其正常工作

下面是我用来显示的字段:

[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime ProjectStartDate { get; set; }
这是我从中映射的字段:

public DateTimeOffset ProjectStartDate { get; set; }
这里是我进行映射的地方:

ProjectStartDate = p.ProjectStartDate,
ProjectStartDate = DbFunctions.CreateDateTime(p.ProjectStartDate.Year, p.ProjectStartDate.Month, p.ProjectStartDate.Day,
                            p.ProjectStartDate.Hour, p.ProjectStartDate.Minute, p.ProjectStartDate.Second),
我使用EPPlus生成导出,如下所示:

ExcelWorksheet wsExpenses = pck.Workbook.Worksheets.Add("Expenses");

wsExpenses.Cells["A1"].LoadFromCollection(expenses, true);
wsExpenses.Column(5).Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern;

弄明白了,必须在地图上把它分开:

ProjectStartDate = p.ProjectStartDate,
ProjectStartDate = DbFunctions.CreateDateTime(p.ProjectStartDate.Year, p.ProjectStartDate.Month, p.ProjectStartDate.Day,
                            p.ProjectStartDate.Hour, p.ProjectStartDate.Minute, p.ProjectStartDate.Second),

ProjectStartDate=p.ProjectStartDate.Date
?早些时候尝试过,得到:“LINQ to实体中不支持指定的类型成员'Date'。只支持初始值设定项、实体成员和实体导航属性。这在您的问题中不清楚。请您阅读本指南,了解如何编写有关堆栈溢出的好问题:为了保持简短,我省略了我已经尝试过的10种不同方法。非常好的建议,谢谢!