c# - c#,是否可以定义从 sqlite 数据库到 c# 对象类型保存的数据绑定?
问题描述
我有以下班级层次结构:
public class A
{
public string A_string;
public int A_int;
public double A_double;
public B BInstance;
}
public class B
{
public string B_string;
public int B_int;
public double B_double;
public C CInstance;
}
public class C
{
public string C_string;
public int C_int;
public double C_double;
}
并且需要映射到以下数据库值:
+--------------+-----------+--------------+---------------------+-------------------+----------------------+--------------------------------+-----+---------------------+
| Col1(string) | Col2(int) | Col3(double) | Col4(string) | Col5(int) | Col6(double) | Col7(string) | ... | Col_without_mapping |
+--------------+-----------+--------------+---------------------+-------------------+----------------------+--------------------------------+-----+---------------------+
| A_string | A_int | A_double | A.Instance.B_string | A.BInstance.B_int | A.BInstance.B_double | A.BInstance.CInstance.C_string | ... | |
+--------------+-----------+--------------+---------------------+-------------------+----------------------+--------------------------------+-----+---------------------+
数据库有数千列,并且类层次结构非常复杂,因此我不想为访问数据库的每个函数重写映射(以及数据类型转换(从数据库到 c#,反之亦然))。理想情况下,如果可能,我想定义一次数据绑定。
我知道实体框架,但只有选项:
- 先编码
- 数据库优先
我需要的是现有代码到现有数据库的数据绑定。
我读到了Fluent API
也许这样的事情会起作用:
modelBuilder.ComplexType<A>();
modelBuilder.ComplexType<B>();
modelBuilder.ComplexType<C>();
modelBuilder.Entity<A>().ToTable("databasetable_above");
modelBuilder.Entity<B>().ToTable("databasetable_above");
modelBuilder.Entity<C>().ToTable("databasetable_above");
但我不知道这是否可能。如果是这样,我会很高兴显示映射的代码片段。或者,如果有人有更好的想法,我会很高兴听到。
编辑:
有谁知道代码,如果我可以用 Fluent API 生成的数据库替换数据库。
谢谢
解决方案
推荐阅读
- sql-server - 在多值字符串中搜索的最佳方法
- c# - 启动文本随机化它,它不会让我发布因为名称
- sql - 错误:使用计数和查找百分比时在“从”处或附近出现语法错误
- r - 如何基于 R 中的多列展开单列?
- apache-kafka - 消费端的并行处理和维护秩序 - Kafka + Camel
- node.js - 使用 CloudFront 和 FFMPEG 通过 HTTP 进行实时流式传输存在延迟问题
- trace - 如何理解 zipkin 中的 span 标签 peer.address?
- php - 如何通过 Ajax 检索记录并在 Laravel 表中显示
- python - scikit-learn 中简单神经网络实现对数据集大小的要求过高
- ruby-on-rails - 渐进式 Web 应用程序应该使用 simple_token_authentication 还是 jwt 令牌?