我喜欢使用SQL,我觉得我很好.
我尝试使用Linq(使用c#和Linq2Sql,看起来感觉它与VB.Net更像SQL),我觉得非常令人沮丧,你不能只运行你的查询而不编译和执行代码.我对IQueryable,IEnumarable,IList等不是很了不起.我怀疑为什么在你是一个专业的SQL用户时你会使用Linq.
但我需要某种O/RM,所以我可以编写我的测试代码,我喜欢使用POCO而不是数据集.
因此,考虑到我的团队中的每个人都是某种程度的SQL专家(主要是MS SQL,因此也是T-SQL),并且享受数据库编程,您建议使用O/RM.(商业或OpenSource无关紧要,良好的支持,教程和文档是必须的)
我们的开发环境将是C#,ASP.Net MVC以及ExtJS.
我们将要迁移的应用程序上有超过1000个表.您不会相信ADO.Net Entity Framework会在其上生成多少代码.我也尝试了一下Castle ActiveRecord,(我对H(N)Hibernate一无所知,并且没有足够的ActiveRecord文档让我继续前进)
LINQ和Entity Framework有什么区别
LINQ和Entity Framework都被认为是ORM吗?
两者的优点是什么?
我想学习ORM,我想知道哪个对于启动是有益的; Linq to SQL或Nhibernate.考虑时间,适应......等等
我们有一个基于NHibernate和WPF的现有C#项目.我被要求将其转换为Linux并考虑其他实现,如Python.但出于某种原因,他们非常喜欢NHibernate,并希望保留它.
你知道是否有可能保留NHibernate的东西并让它与Python一起工作?我认为NHibernate是C#和DB之间的粘合代码,所以不能导出到其他语言.
替代问题:有人可以推荐一个好的python兼容替代NHibernate吗?后端数据库是Oracle的东西.
我在我的项目中使用Doctrine作为ORM但遇到了一个奇怪的错误:
使用以下YAML:
Album:
tableName: dpp_album
actAs: [Timestampable]
columns:
name: string(255)
description: string(255)
online: boolean
Run Code Online (Sandbox Code Playgroud)
我然后生成我的模型,但刷新我的页面并自动加载模型后,PHP提供此错误:
致命错误:第13行的E:\ sites\dpp\system\application\models\Album.php中找不到"BaseAlbum"类
奇怪的是,我的所有其他模型都很好,在这些情况下可以找到基类.
将名称"相册"更改为"设置"时,它就可以了!这不奇怪吗?!
所以看起来使用'专辑'有点冲突,虽然错误信息暗示了别的东西.更改为复数相册也不起作用,其他任何东西都没问题!
有什么建议?
谢谢!
我想用脚本语法而不是旧样式标记语法编写以下内容.
<cfcomponent persistent="true" table="AuditType" schema="Audit" >
<cfproperty name="AuditTypeID" column="AuditTypeID" ormtype="int" fieldtype="id" />
<cfproperty name="AuditTypeName" column="AuditTypeName" ormtype="string" />
<cfproperty name="AuditTypeSort" column="AuditTypeSort" ormtype="integer" />
</cfcomponent>
Run Code Online (Sandbox Code Playgroud) 所以,我对Hibernate很新,我遇到了问题.
我有一个抽象类(超类,类Super),以及5个子类,它们应该使用Super类中的属性并添加一个新的属性(一个新的列)
那我该怎么做呢?我应该从java扩展Super类,还是使用JPA注释加入类.
这是第二个问题.如何为2个班级提供1个表格.有人(比我聪明)告诉我使用 @JoinTable,但是用google形成我的搜索,我想我需要使用@Inheritance(strategy = InheritanceStrategy.JOINED)
我也可以使用@JoinTable吗?
我在保存对数据库的更改方面存在问题,我正在使用LINQ2SQL映射.我已经基于以下教程实现了M:M关系(User <= UserRole => Role):http://www.codeproject.com/KB/linq/linqtutorial2.aspx#premain25
当我使用一个继承自DataContext并负责我所有域类的类时,一切正常,例如:
[数据库]公共类BookCatalog:DataContext {//创建静态DataContext以删除M:M Join记录私有静态DataContext contextForRemovedRecords = null;
public BookCatalog() : base("Data Source=KO2\\SQLSERVER;Initial Catalog=Katalog;Integrated Security=True") { }
public Table<User> Users;
public Table<Role> Roles;
public Table<UserRole> UserRoles;
public static void RemoveRecord<T>(T recordToRemove) where T : class
{
// Use the static contextForRemovedRecords
if (contextForRemovedRecords == null)
contextForRemovedRecords = new BookCatalog();
Table<T> tableData = contextForRemovedRecords.GetTable<T>();
var deleteRecord = tableData.SingleOrDefault(record => record == recordToRemove);
if (deleteRecord != null)
{
tableData.DeleteOnSubmit(deleteRecord);
}
}
// NEW method (not …Run Code Online (Sandbox Code Playgroud) 我正在尝试安装这个ORM库,
但我发现它需要PEAR安装程序和梨包,它们在哪里使用?
很抱歉,因为这个问题特定于我的问题.
在学习反思的同时,我在一周内完成了一个迷你SQL ORM,然后在使用它一周时进行了一些小调整.由于它只有很少的工作量,它实际上只与sqlite兼容.到目前为止我没有遇到代码问题,但我想把它移植到支持TSQL或MySql的东西.
示例代码在这里已经过时但在我的类中具有最常用的功能.什么库我可以用最小的痛苦来移植代码.请注意,它必须支持外键.
orm ×10
doctrine ×2
nhibernate ×2
php ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
coldfusion ×1
database ×1
hibernate ×1
java ×1
jpa ×1
linq ×1
linq-to-sql ×1
many-to-many ×1
pear ×1
python ×1
sql ×1
sql-server ×1
t-sql ×1