Ich habe ein Modell für Benutzer und Definition istEntity Framework Relationship
public class User
{
public string UserID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName {
get
{
return (FirstName + " " + LastName).Trim();
}
}
public string EmailID { get; set; }
public UserAccessLabel AccessLabel { get; set; }
public string Password { get; set; }
public string PasswordStore {
get
{
string hashPass;
using (Encryption enc = new Encryption())
{
enc.Key = EncryptionKey.DefaultKey;
hashPass = enc.Encrypt(Password);
}
return hashPass;
}
set
{
string hashPass;
using (Encryption enc = new Encryption())
{
enc.Key = EncryptionKey.DefaultKey;
hashPass = enc.Decrypt(value);
}
Password = hashPass;
}
}
public byte[] Image { get; set;}
}
und fluentAPI Konfigurationsklasse ist
public class UserConfig : EntityTypeConfiguration<User>
{
public UserConfig()
{
ToTable("tblUsers");
HasKey(k => k.UserID);
Property(p => p.FirstName).IsRequired();
Property(p => p.LastName).IsRequired();
Property(p => p.PasswordStore).IsRequired().HasColumnName("Password");
Property(p => p.Image).HasColumnType("image");
Ignore(i => i.FullName);
Ignore(i => i.Password);
}
}
Und ich habe viele andere Modell wie Produkte, Kategorie, Kunden, usw. und Jedes Modell hat Erstellt und Aktualisierte Eigenschaft, die Benutzer sind.
Und meine Fragen ist, muss ich alle Modelle Sammlung Eigenschaft in Benutzer Modell erstellen?
so etwas wie
public ICollection<Product> Products { get; set; }
public class ProductConfig:EntityTypeConfiguration<Product>
{
public ProductConfig()
{
ToTable("tblProducts");
HasKey(k => k.Code);
Property(p => p.Title).IsRequired();
Property(p => p.Title).HasMaxLength(100);
HasRequired(c => c.Category).WithMany(p => p.Products).HasForeignKey(f => f.CategoryID).WillCascadeOnDelete(false);
HasRequired(u => u.Created).WithMany(p => p.Products).HasForeignKey(f => f.CreatedUser).WillCascadeOnDelete(false);
HasRequired(u => u.Updated).WithMany(p => p.Products).HasForeignKey(f => f.UpdatedUser).WillCascadeOnDelete(false);
}
}
Dank im Voraus
aber ich bin nicht in der Lage, auf Daten aus Fremdschlüssel Spalte zugreifen, Daten existieren dort in der Datenbank, wenn ich es mit einfachen SQL-Abfrage wie Created_UserID überprüfen, aber im Modell zeigt Null in erstellte Eigenschaft unter Produktmodell – Siraj
Wenn Sie meinen, dass die FK-ID-Spalte nicht leer ist, aber das Objektfeld null ist, liegt das daran, dass sie standardmäßig nicht geladen werden. Sie können sie laden, indem Sie die Erweiterungsmethode 'Include' aufrufen. ' context.Products.Include ("Created") ' – Random
Ja, das war die Antwort, nach der ich gesucht habe. Vielen Dank – Siraj