使用Entity Framework / Xamarin Android在DateTime上的InvalidCastException(将日期读为字符串)

时间:2017-09-09 19:05:39

标签: c# entity-framework datetime xamarin.android .net-standard-2.0

第一次尝试Xamarin并且无法真正解决这个问题。

我正在开发一个包含3个项目的解决方案。一个带有Entity Framework的.NET标准2类库,我将其用作服务层,其他项目引用并调用以获取其数据对象。

另外两个项目是.NET Core 2 Web项目和Xamarin.Android项目。

.NET Core 2项目可以检索所有数据而不会出现任何问题,而当对象包含DateTime属性时,Xamarin.Android项目会获得InvalidCastException。

System.InvalidOperationException: An exception occurred while reading a database value for property 'myObject.LastLogin'. The expected type was 'System.DateTime' but the actual value was of type 'System.String'

我对Xamarin.Android项目和.NET Core 2项目使用相同的方法和类。我也尝试从DateTime属性设置为DateTime.Now的服务层返回对象,以确保它是一个正确的日期。

如果删除DateTime属性,同样的对象在Xamarin.Android上正常工作。下面返回的对象示例。

public class User
    {
        public int ID { get; set; }
        public string Email { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime LastLogin { get; set; }
        public byte[] ProfilePicture { get; set; }
    }

如果有人对我如何解决这个问题有任何想法,我会非常感激。 我目前正在解决这个问题,但我真的希望找到解决这个问题的正确方法。

谢谢!

0 个答案:

没有答案