c# - 与 ef 对话和可定制的 asp.net 类库
问题描述
我正在尝试制作一个仅包含 may app 核心逻辑的类库。我已经看过许多这样做的教程,但它们在该库中包含了 EF 核心。我想要做的是只放置所有逻辑,如果它不存在,则通过传递一个string
.
这就是我想做的
- 在单独的项目中创建一个类库。
- 添加一个名为SomeName Manager 的类 - [包含我想要的所有方法]
- 创建要由此修改的模型,
manager
但我不希望它成为直接用作我的实体的类。我只是希望它成为我的实体的基类以进行自定义。例如,如果我必须添加一个新属性,我只需在我的主应用程序中更改实体。不在图书馆。 - DbContext 仅在我的主应用程序中。这意味着我在我的库中使用的所有类和列表都将只在内存中。
这是我到目前为止得到的
// class library
public interface IBook{
// some properties here
ICollection<ICategory> Categories { get; set; }
// some more properties...
}
public interface ICategory{
// some properties here
ICollection<IBook> Books { get; set; }
// some more properties...
}
public class Book : IBook {
// implementations...
}
public class Category : ICategory {
// implementations
}
public class BookManager {
public void CreateBook(Book book) {
// some logic
// I'm not sure if I would pass Book or IBook
}
public void AddCategories(List<Category> categories) {
// some logic
// I'm not sure if I would pass Category or ICategory
}
}
// my main app
public class BookInfo {
// some props...
}
public class BookCategory {
// some props...
}
public class MyDB : DbContext{
public DbSet<BookInfo> BookInformations {get; set;}
public DbSet<BookCategory> BookCategories {get; set;}
}
问题
- 我的数据库中的表名是
Book
. 我不想使用流利的 API 来重命名它。 - 我有两个数据库都称为的新列
Discriminator
。那是什么?我要删除它吗? - 类别不绑定到 Book.Categories。它是空的,但它插入到数据库中。
附加问题 我这样做对吗?这是个坏主意吗?请赐教。我不是初学者,但我没有加入真正的开发团队。
解决方案
推荐阅读
- javascript - 在 Javascript 中,如何使用 fetch() 从一个 API 请求中读取多个流块?
- angular - Angular code splitting into multiple functional bundles
- reactjs - 我如何在循环中实现多个承诺
- docker - Botium-cli quickstart process it taking so long and long
- php - 自定义存档页面不适用于日期或标签,但适用于类别
- android-studio - What does "-keepattributes SourceFile,LineNumberTable" mean for the new Android code shrinker R8?
- python - update missing values in dataframe from another dataframe
- excel - Excel公式计算单元格值中有多少正斜杠(/)
- powerbi - 为什么在我的行上下文中使用早期函数时不起作用
- java - 如何在循环中设置数组的 3 个连续位置和 RGB 值