Это вопрос C #, использующий .NET Framework, построенный на Asp.NET Boilerplate.Опять же, чтобы еще раз подчеркнуть вопрос, который задают, это «КАК ...», поэтому, если был предоставлен ответ по URL-ссылке или описательное объяснение того, как что-то должно быть сделано, я был бы очень признателен.(Не отвечайте на вопросы о том, как завязать шнурок, показывая изображение привязанного ботинка, и не отвечайте «как ловить рыбу», показывая запись кого-то, кто ловит рыбу ...)
Поскольку вопрос довольно простой(мне не нужно перефразировать / повторять заголовок снова), я приведу пример.
Если у меня есть служба форума, и я создаю класс для загрузки Thread
.Внутри этого класса потока должен быть какой-то набор, массив, список или даже набор данных Post
, который извлекается из конструкции.
[Table("Thread", Schema = "dbo")]
public class ThreadModel
{
[Key]
public long Id { get; set; }
public string Title { get; set; }
//Idea 1
//Value should automatically be pulled and cached the moment class connects to database
public Post[] Posts { get; set; }
//Idea 2
//Post has a constructor to return all post that matches a thread id. While new tag keeps the return value constantly refreshed.
public Post[] Posts { get { return new Post(this.Id) } }
//Idea 3
//Not sure how collection is supposed to work. Does it automatically just pull or will i need to make a method to request?
public virtual ICollection<Post> Posts { get; set; }
//Example constructor
//When connected to database key-value pairs that match database labels will automatically get stored in class
protected ThreadModel()
{
//Idea 1-A
//Should be a value of null or empty if database yields no results
Posts = new Post();
}
public ThreadModel(int threadid) : this()
{
//Idea 1-A
Id = threadid;
//new Post => returns all posts in db
//Posts default value is all post in db
Posts = Posts.Select(post => post.threadid == this.id)
//Idea 3-A
Posts = Posts.Get(post => post.threadid == this.id)
//Idea 4
Posts = new Posts().GetThread(threadid);
}
}
Дополнительные вопросы
Если все сущности создаются путем наследования Entity
, и в какой момент я подвергаюсь EntityFramework и DbContext
?
Мне нравится этот пример здесь , представленный пользователем как онипопытаться подключить ABP к своей базе данных.Но их пример не показывает родительские / дочерние ресурсы.Я не могу найти руководство, которое они использовали для его создания, и как оно связано с использованием ABP для извлечения DbContext примера EntityFramework
Как это работает?Я не могу найти инструкции или объяснения для этого?(Что я должен войти в Google, чтобы получить ответы по этой механике?)
[Table("AbpItems")]
public class Item : Entity
{
[ForeignKey("PostId")]
public Post Post { get; set; }
public int PostId { get; set; }
}
Как этот интегрируется в / с EntityFramework abp ?
Где я должен создать свою таблицу / класс базы данных?Проект следует схемам сборки Core .csproj, * .csproj и EntityFramework .csproj.Но похоже, что каждый пример создает классы на разных этапах или в разных местах решения.