Subsonic - 任何人都可以提供使用 Subsonic SimpleRepository 来保存对象列表/数组的示例吗?

2024-05-08

我正在寻找可能的方法来保留以下课程。亚音速简单存储库看起来它可能有效,而且当我问一个人时,人们说它应该有效更一般的问题 https://stackoverflow.com/questions/1527805/orms-that-work-with-complex-net-generic-objects-e-g-nested-list-etc.

但我一直无法找到一个如何做到这一点的例子 - 或者至少一个我能理解的例子。

谁能给我举个例子,或者告诉我如何使用 Subsonic 将以下类映射到数据库?

注意我没有设计数据库 - 我希望 Subsonic 能为我做到这一点,懒惰的草皮,我是...

Edit:只是为了扩展上一点 - 我希望 Subsonic 将我的对象模型转换为关系数据库,处理所有隐含的父子关系和一对多关系。目前,我认为 Subsonic 无法做到这一点。但即使是一个工作示例(不是代码片段)在对象模型中显式管理外键等将很有用。

关于我想要坚持的课程的一些背景和注释:

  • 它们由控制某些测量设备的软件使用
  • the Data类包含一个数组RunData称为的对象RunFn,它保存的数据长达 10 次独立测量运行
  • 注意RunData还包含一个数组 花车数量 -RawY
  • 如果有必要,我们可以将数组更改为其他类型的集合(List 等)
  • 使用 C#、VS2008、针对 SQL Server Express 进行开发

Edit:我正在使用亚音速 3.0.0.3。

public class RunData

{
    public DateTime StartDateTime { get; set; }
    public TimeSpan ElapsedTime { get; set; }

    private float[] _rawY;
    public float[] RawY
    {
        get
        {
            return _rawY;
        }
        set
        {
            _rawY = value;
        }
     }
 }

public Data
{
    public string OperatorId { get; set; }
    public string SampleId { get; set; }

    // CAN SUBSONIC DEAL WITH THIS ARRAY OF OBJECTS???
    private RunData[] _runFn;
    public RunData[] RunFn
    {
        get
        {
            return _runFn;
        }
        set
        {
            _runFn = value;
        }
    }
}

我不确定我是否会回答您在这里提出的所有问题,但如果我使用 SimpleRepository 实现此操作,我将拥有以下模型:

public class RawYValue
{
  public int Id { get; set; }
  public int RunDatumId { get; set; }
  public float YValue { get; set; }
}

public class RunDatum
{
   var repo = new SimpleRepository();

   public int Id { get; set; }
   public int DataId { get; set; }
   public DateTime StartDateTime { get; set; }
   public TimeSpan ElapsedTime { get; set; }

   public IQueryable<RawYValue> RawYValues 
   { 
     get { return repo.Find<RawYValue>(rawYValue => rawYValue.RunDatumId == Id); }
   }
 }

public Data
{       
  var repo = new SimpleRepository();

  public int Id { get; set; }
  public string OperatorId { get; set; }
  public string SampleId { get; set; }

  // CAN SUBSONIC DEAL WITH THIS ARRAY OF OBJECTS???
  public IQueryable<RunDatum> RunData 
  { 
     get { return repo.Find<RunDatum>(runDatum => runDatum.DataId == Id); }
  }
}

我想 SubSonic 在复数某些名称时会遇到困难,因此您可能需要更改它们,但希望这能让您开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Subsonic - 任何人都可以提供使用 Subsonic SimpleRepository 来保存对象列表/数组的示例吗? 的相关文章

随机推荐