C# 从DbSet继承<;张力>;首先是实体框架代码
我想问一下,是否可以创建从DbSet继承的类集合,并在DbContext中使用该集合。我首先使用实体框架-代码 我有一个简单的班,学生:C# 从DbSet继承<;张力>;首先是实体框架代码,c#,entity-framework,C#,Entity Framework,我想问一下,是否可以创建从DbSet继承的类集合,并在DbContext中使用该集合。我首先使用实体框架-代码 我有一个简单的班,学生: public class Student { public int StudentId { get; set; } public string Name { get; set; } } 然后我尝试创建自定义StudentCollection,在这里我可以定义自定义方法: public class StudentCollection : DbS
public class Student
{
public int StudentId { get; set; }
public string Name { get; set; }
}
然后我尝试创建自定义StudentCollection,在这里我可以定义自定义方法:
public class StudentCollection : DbSet<Student>
{
public void CustomAdd(Student student) { /*...*/ }
public bool Exists(Student student) { return true; }
}
谢谢您的帮助。您在做什么,需要从
DbSet
派生一个类?可能还有其他方法可以达到相同的最终目标。您是否考虑过在DbSet
上使用扩展方法?对于CustomAdd(Student-Student)
您应该真正重写DbContext.SaveChanges()
我尝试实现自定义集合,我可以将表集合的责任委托给它。我知道这是可以使用的。我尝试做的是类似于teacher.Students.CustomAdd(newStudent)
public class-teacher{public-virtualstudentcollection-Students{get;set;}}}
public class ModelContext : DbContext
{
//typical use: Works ok
public virtual DbSet<Student> Students { get; set; }
//Dreamed use: Generate error, EntityType 'StudentCollection' has no key defined.
public virtual StudentCollection ExtendedStudents { get; set; }
}
Db.ExtendedStudents.CustomAdd(newStudent);