将 Class/Table 与中间表值合并

Combine Class/Table with middletable value

我正在尝试构建我的(数据模型)classes 以反映数据库结构。

来自 web-development 过去我并没有费心创建反映我的数据库内容的 object。我一直习惯于将其作为原始数组数据使用。

我尝试开发的系统中的数据结构基于翻译。 经过一番研究后,我决定将我的 table 拆分为 "static" 和 "translation" 数据存储。以下是使用 sqlite 的数据库结构示例:

Table: Tutorial
(PK)Id : Integer
PositionX : Integer
PositionY: Integer

Table: Tutorial_Translation
(FK)Tutorial_Id : Integer
(FK)Language_Id : Integer
Title : Text
Text : Text

Table: Language
(PK)Id : Integer
Title : Text
Country : Text

现在的想法,您可能已经猜到了,我将教程的文本存储在中间table "Tutorial_Translation"。当我希望显示给定的教程时,我会根据 "Tutorial ID" 将 "Tutorial_Translation" 值 "Title" 和 "Text" 加入 "Tutorial" table ]和事先设置好的"Language ID"。

到目前为止一切顺利.. 现在我在这里遇到 "problem",是我必须围绕这些数据库 table 构建我的系统 classes,以便我使用 SQLite 框架完美地使用它。

我真的很想得到一些关于我正在考虑使用的 class 结构的想法的反馈:

Class: Tutorial
Id : Int
Position : Point
_positionX : Int
_positionY : Int
TitleText : TutorialTranslation

Class: TutorialTranslation
Tutorial_Id : Int
Language_Id : Int
Title : String
Text : String

如果我要使用这样的结构,我可以轻松地实例化 Tutorial object 并通过 TutorialTranslation object 调用它的标题或文本。

我的问题是:

  1. 这是一个很好(足够)的系统结构 classes 来反映数据库设计吗?
  2. 如果是这样,创建 TutorialTranslation object 的最佳方法是在 Tutorial 的构造函数中吗? -> 有没有办法让 Sqlite 为我做这件事?
  1. 这是一个很好(足够)的系统结构classes 来反映数据库设计吗?
    据我所知,我觉得还可以。

  2. 如果是这样,创建 TutorialTranslation 对象的最佳方法是在 Tutorial 的构造函数中吗? -> 有没有办法让 Sqlite 为我做这件事?
    您必须在您的项目中创建一个自定义 class,它将从数据库中提取相关信息。获得这些结果后,class 将使用获得的数据初始化其字段。我不知道在你来自的 'web-development' 环境中是如何完成的,但在 C# 中,你必须对你的环境做很多工作拥有.