第一次尝试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; }
}
如果有人对我如何解决这个问题有任何想法,我会非常感激。 我目前正在解决这个问题,但我真的希望找到解决这个问题的正确方法。
谢谢!