English 中文(简体)
哪一种或哪一种地图使一对一对一式和三式两种语言得以使用 同一表格之间的一对一关系?
原标题:What OR-mappers allow one-to-many AND One-to-one relationship between the same tables?

目前,Im正在寻找一个OR地图仪,用于一个即将启动的I m项目。 由于我们在工作时重新使用内部开发的OR地图仪,我没有真正了解其他地图绘制者的工作(而且目前的情况基本不完整)。 经过一些研究,似乎最常用的是NHibernate、Linq-to-SQL和实体框架。

因此,我的问题是:能否在[此处插入你赞成的座右边],在同一张桌子()之间绘制一对一对一的关系图,以及它如何(通常)做到这一点?,这方面的一个简单例子就是储存一份清单(单对手)和选定项目(一对一)。

我选择了这个具体问题的原因是,它给我们内部的OR-mapper留下了痛苦的痕迹:它只是允许两个表之间的一个以上关系。 我想从询问中获取的东西是那些与这些地图绘制者合作帮助我决定哪些(现有!)的人的一些见解。 OR-地图仪用于我的边际项目。

感谢你们的帮助!

最佳回答

我认为,最主要的秘书处支持这种绘图工作(所听到的唯一例外是Subsonic)。 例如,DataObjects.Net。 它希望:

public class ItemStore : Entity
{
  [Field, Key]
  public int Id { get; set; }

  [Field]
  public Item SelectedItem { get; set; }

  [Field, Association(PairTo = "Store")]
  public EntitySet<Item> Items { get; private set; }
}

public class Item : Entity
{
  [Field, Key]
  public int Id { get; set; }

  [Field]
  public ItemStore Store { get; set; }
}
问题回答

OR地图仪的目的是使数据库与物体图表相对应。 因此,你描述的协会可能喜欢(这里是使用Hibernate的Im,与NHibernate大致相同,但在 Java而不是C#/.NET)

//table schema: 
// item_store(item_store_id, selected_item_id)

@Entity
@Table(name="item_store")
class ItemStore {
 @Id
 @Column(name="item_store_id")
 public String getId() {...}

 @OneToMany(mappedBy="itemStore")
 public Collection<Item> getItems() {...}

 @ManyToOne
 @JoinColumn(name="selected_item_id")
 public Item getSelectedItem() {...}
}

//table schema:
// item(item_id, item_store_id)

@Entity
@Table(name="item")
class Item {
 @Id
 @Column(name="item_id")
 public String getId() {...}

 @ManyToOne
 @JoinColumn(name="item_store_id")
 public ItemStore getItemStore() {...}
}

我确信,我在这里会犯了一个错误或两个错误,但希望你了解它是如何运作的。

如果您有两个表格,一个是名单,另一个是名单。 清单系统对清单和清单有外国钥匙,对选定项目有外国关键。

这是一种非常简单的关系,应当支持所有利用其他资源的工具。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签