我正在重写一个项目来使用Node.js. 我想继续使用MySQL作为数据库(尽管我不介意重写架构).我正在寻找一种简单易用,性能合理的ORM,它支持缓存,多对一和多对多关系.从我可以找到的MySQL ORM中,persistencejs和sequelize似乎是最成熟的.你有经验吗?在我的决定中我应该注意哪些相关的利弊?
任何在Android上工作的人('gPhone')都拥有或知道我可以找到一个好的ORM工具的地方吗?代码用Java编写,数据库是SQLite.我想要找到的是一个给定对象定义的工具,可以自动生成表和CRUD函数(这将是非常棒的),或者除此之外,一个可以采用表定义,对象定义,并自动生成CRUD功能.问题是所有这一切都必须在Android框架内发生,Android框架有自己的数据库访问工作方式.
我想知道在Doctrine2中使用多对多关系的最好,最干净,最简单的方法是什么.
让我们假设我们有一张专辑,如Metallica的Master of Puppets,有几首曲目.但请注意,一首曲目可能会出现在一张专辑中,比如Metal by Metallica的专辑 - 三张专辑都是这首曲目.
所以我需要的是专辑和曲目之间的多对多关系,使用第三个表和一些额外的列(比如指定专辑中曲目的位置).实际上,我必须使用,如Doctrine的文档所示,实现该功能的双重一对多关系.
/** @Entity() */
class Album {
/** @Id @Column(type="integer") */
protected $id;
/** @Column() */
protected $title;
/** @OneToMany(targetEntity="AlbumTrackReference", mappedBy="album") */
protected $tracklist;
public function __construct() {
$this->tracklist = new \Doctrine\Common\Collections\ArrayCollection();
}
public function getTitle() {
return $this->title;
}
public function getTracklist() {
return $this->tracklist->toArray();
}
}
/** @Entity() */
class Track {
/** @Id @Column(type="integer") */
protected $id;
/** @Column() */
protected $title;
/** …Run Code Online (Sandbox Code Playgroud) 这是一个非常开放的问题.我将开始一个新项目,我正在寻找与数据库访问集成的不同ORM.
你有什么收藏吗?你有没有建议保持清醒?
我刚开始使用EF代码,所以我在这个主题中完全是初学者.
我想在团队和比赛之间建立关系:1场比赛= 2队(主场,客场)和结果.我认为创建这样的模型很容易,所以我开始编码:
public class Team
{
[Key]
public int TeamId { get; set;}
public string Name { get; set; }
public virtual ICollection<Match> Matches { get; set; }
}
public class Match
{
[Key]
public int MatchId { get; set; }
[ForeignKey("HomeTeam"), Column(Order = 0)]
public int HomeTeamId { get; set; }
[ForeignKey("GuestTeam"), Column(Order = 1)]
public int GuestTeamId { get; set; }
public float HomePoints { get; set; }
public float GuestPoints { get; set; }
public DateTime …Run Code Online (Sandbox Code Playgroud) 对于我开发的一些应用程序(然后继续忘记),我一直在编写纯SQL,主要用于MySQL.虽然我在SQLAlchemy中使用了python中的ORM ,但我并没有坚持使用它们.通常是文件或复杂性(从我的观点来看)阻碍了我.
我看是这样的:使用ORM来实现可移植性,如果它只是使用一种类型的数据库则使用普通SQL.在开发需要数据库支持的应用程序时,我真的在寻找何时使用ORM或SQL的建议.
考虑到这一点,使用轻量级包装来处理数据库不一致与使用ORM相比会好得多.
有人建议我为我正在设计的项目使用ORM,但是我无法找到有关它是什么或它是如何工作的信息.任何人都可以给我一个简短的解释或链接,我可以在哪里了解更多信息吗?
我正在评估并考虑使用CherryPy进行一个项目,该项目基本上是来自客户端(浏览器)的JavaScript前端,后端与后端的Python Web服务对话.所以,我真的需要在后端快速轻量级的东西,我可以用Python实现,然后通过ORM(浏览器的JSON)与PostgreSQL DB对话.
我也在看Django,我喜欢它,因为它的ORM是内置的.但是,我认为Django可能比我真正需要的多一点(比我真正需要的功能更多= =慢?).
任何人都有使用不同Python ORM解决方案的经验,可以比较和对比他们的特性和功能,速度,效率等?