如何从对象列表中获取单个对象
请您告诉我如何使用此方法获取单个数据对象。 由于返回类型,对我来说很困难。我试图从我的MongoDB集合中获取单个数据,然后使用不同形式的数据来显示谁处于活动状态。我的错误总是在返回类型的定义。如何从对象列表中获取单个对象
这是我的代码:
public var PrijavljenKorisnik(ModelPrijavaKorisnika prvKor)
{
MongoCollection<ModelKorisici> kljenti = GetTasksCollection();
List<ModelKorisici> DohvaceniKorisnik = new List<ModelKorisici>();
var upit = from lambda in kljenti.AsQueryable<ModelKorisici >()
where lambda.kor_ime == prvKor.PrijavaKor && lambda.uloga == "korisnik"
select lambda;
foreach (var dohvaceni in upit)
{
DohvaceniKorisnik.Add(dohvaceni);
if (DohvaceniKorisnik.Count() >= 1 && dohvaceni.uloga == "korisnik")
{
MessageBox.Show("Ovaj korinik je prijavljen kao korisnik");
frmKorisnik fmk = new frmKorisnik();
fmk.Show();
frmPrijavaForma frmPriv = new frmPrijavaForma();
frmPriv.Close();
return dohvaceni;
}
else
{
DialogResult d = MessageBox.Show("Potrebno se je predhodno registrirati u aplikaciju KnjigoLjubac");
if (d == DialogResult.Yes)
{
frmRegistracijaForma frmReg = new frmRegistracijaForma();
frmReg.Show();
return null;
}
}
}
我并不完全相信你的意图是什么,但我会在它采取刺伤。你认为你正在寻找一个单一的价值,所以我想这可能会为你工作:
var dohvaceni = (from lambda in kljenti.AsQueryable<ModelKorisici >()
where lambda.kor_ime == prvKor.PrijavaKor && lambda.uloga == "korisnik"
select lambda)
.FirstOrDefault();
if (dohvaceni != null)
{
MessageBox.Show("Ovaj korinik je prijavljen kao korisnik");
// the rest of the code for a match...
}
else
{
DialogResult d = MessageBox.Show("Potrebno se je predhodno registrirati u aplikaciju KnjigoLjubac");
// the rest of the code for no matches...
}
我希望这可以帮助。
我的意图是从mongodb获取数据并返回它,以便我可以在某些情况下使用数据另一种形式,这是一个登录表单的代码,我需要获得注册用户的用户名,所以,我试图返回一个完整的对象,然后在另一个表单上使用它。 –
我通过Google翻译运行了一些变量名我发现你正在使用列名uloga(Role)来确定它们是否在“korisnik”(用户)角色中,以及是否与kor_ime(用户名)匹配。 ,我会建议在你的表单上创建一个构造函数,该构造函数将获取用户类的实例,然后使用该构造函数创建窗体(例如:MyForm m yForm = new MyForm(userInstance))。理想情况下,您会考虑实现自定义主体和IIdentity,以便使用内置的.NET安全性。 –
frmRegistracijaForma formReg = new frmRegistracijaForma(); ModelPrijavaKorisnika prvKor = new ModelPrijavaKorisnika(); KorisniciBazaPodataka bpk = new KorisniciBazaPodataka(); label1.Text = bpk.PrijavljenKorisnik(prvKor).ToString();我试过这个......但现在我有一个空引用异常 –
'公共var'应该可能是'public ModelKorisici' ...? –
为什么不能将返回类型更改为可空类型的“dohvaceni”? – ashy
我试着用ModelKorisici,但方法 –