ich Artikel wie diesen zu lesen: Error: The entity or complex type cannot be constructed in a LINQ to Entities queryLinq Abfrage wirft Einheit oder komplexen Typ kann nicht in einer Linq zu Einheit aufgebaut werden, auch wenn ich den Klassennamen nur mit ausgewählten neuen entfernen {..}
So entnehme ich, dass in meiner Anfrage sollte ich von select new rpm_scrty_rpm_usr{..
ändern dann select new { ...
dann gehe ich von Fehlermeldung von
- ex sein { "Die Entität oder komplexen Typ‚ConAppTester.rpm_scrty_rpm_usr‘kann nicht in einer LINQ to Entities-Abfrage erstellt werden. "} {System.Exception System.NotSupportedException}
stattdessen es nicht kompilieren und
Fehler 3 bekommen kann nicht implizit Typ System.Collections konvertieren. Generic.List < AnonymousType # 1 > System.Collections.Generic.List <ConAppTester.rpm_scrty_rpm_usr> C: \ dev \ RLISAdmin \ ConAppTester \ DbMethods.cs 51 11 ConAppTester
Methode
public List<rpm_scrty_rpm_usr> GetUsers()
{
var queryAllUsers = (from ru in db.rpm_usr
join ei in db.emp_info on ru.wwid equals ei.wwid
let cdis_eml = ei.dmn_addr + ";"
where ru.inact_ind == "N" && ei.inact_ind == "N" && ei.dmn_addr != null
orderby ei.dmn_addr
select new rpm_scrty_rpm_usr{
usr_id = ru.usr_id,
usr_lnm = ru.usr_lnm,
usr_pwd = ru.usr_pwd,
usr_fnm = ru.usr_fnm,
wwid = ru.wwid,
apprvr_wwid = ru.apprvr_wwid,
chg_dtm = ru.chg_dtm,
chg_usr_id = ru.chg_usr_id,
dflt_ste_id = ru.dflt_ste_id,
cre_dtm = ru.cre_dtm,
cre_usr_id = ru.cre_usr_id,
lst_pwd_chg_dtm = ru.lst_pwd_chg_dtm,
lst_accs_dtm = ru.lst_accs_dtm,
email_id = ru.email_id,
inact_ind = ru.inact_ind,
salt = ru.salt,
tel = ru.tel
}).ToList();
return queryAllUsers;
}
Context Referenz
private RPMContext db = new RPMContext();
Kontextdatei
public DbSet<rpm_scrty_rpm_usr> rpm_usr { get; set; }
public DbSet<rpm_scrty_emp_info> emp_info { get; set; }
POCOS
public class rpm_scrty_rpm_usr
{
[Key]
public string usr_id { get; set; }
public string usr_fnm { get; set; }
public string usr_lnm { get; set; }
public string usr_pwd { get; set; }
public string email_id { get; set; }
public string wwid { get; set; }
public string tel { get; set; }
public int dflt_ste_id { get; set; }
public DateTime? lst_pwd_chg_dtm { get; set; }
public DateTime? lst_accs_dtm { get; set; }
public string apprvr_wwid { get; set; }
public string inact_ind { get; set; }
public string cre_usr_id { get; set; }
public DateTime? cre_dtm { get; set; }
public string chg_usr_id { get; set; }
public DateTime? chg_dtm { get; set; }
public string salt { get; set; }
}
Andere poco
public class rpm_scrty_emp_info
{
[Key]
public string idsid { get; set; }
public string wwid { get; set; }
public string dmn_addr { get; set; }
public string inact_ind { get; set; }
}
Übrigens, warum haben Sie [zwei Konten] (http://stackoverflow.com/q/37470564/861716)? –
Mitarbeiter und ich beide versuchen, Probleme zu lösen! :) –
Warum machst du nicht einfach 'select ru'? –