我正在开发Xamarin表单应用程序,当用户第一次登录应用程序时,如果用户用户在登录后只想显示仪表板而尝试启动应用程序,则会有三个欢迎页面。我为此编写了以下代码:
public LoginUserInfoDbModel SaveUserDetails(LoginUserInfoDbModel model)
{
if(model.LoggedInUser!=null)
{
return null;
}
else
{
connection.Insert(model);
return model;
}
}
并以下列方式在LoginPage.xaml.cs中调用上述方法:
if (model.ResultString == "Valid")
{
App.UserDatabase.SaveUserDetails(model);
await DisplayAlert("", "You have logged in succesfully ", "Ok");
await Navigation.PushAsync(new DashBoardPage());
}
所以现在我需要检查用户是否已经是DB中的现有用户,所以我在App.xaml.cs中编写了以下代码:
var connection = DependencyService.Get<ISQLiteDb>().GetConnection();
var c=connection.CreateTableAsync<LoginUserInfoDbModel>().Result;
var UserData = connection.Table<LoginUserInfoDbModel().ToListAsync().Result?.FirstOrDefault();
if(UserData != null)
{
MainPage= new DashBoardPage();
}
else
{
MainPage=new WelcomePages();
}
但是这段代码不起作用我得到null引用Exception和其他一些例外,那么我们是否有任何替代方案,或者你能建议对这段代码进行任何修改吗?