joh*_* Gu 0 c# orm entity-framework linq-to-sql
我对使用数据库第一种方法时Linq-to-SQL和Entity Framework之间的差异感到困惑,因为我找不到任何明显的差异.
在我使用Linq-to-SQL的情况下,我曾经创建表,然后我使用Linq-to-SQL创建表示表的类,现在当我切换到Entity Framework时,我仍然遵循相同的步骤(创建数据库表,然后使用EF创建关联的类).
我以相同的方式与这些类进行交互,例如,我曾经使用相同的语法和方法查询User类,但有一次User使用Linq-to-SQL创建类,而另一次使用Linq-to-SQL创建类时EF,那么区别在哪里?
public IQueryable<User> findstudents(string term)
{
return from student in entities1.Users
where student.UserID.Contains(term)
select student;
}
Run Code Online (Sandbox Code Playgroud)
第二个问题,如果我使用EF将表映射到类,是否仍然可以在同一个应用程序中使用Linq-to-SQL来查询EF类?
LINQ是一种基础技术 - 这种语法为您提供了C#中的SQLish查询选项 - 这完全独立于您使用Linq-to-SQL还是EF.因此,如果您想使用LINQ语法查询数据类 - 您可以使用两个框架来执行此操作 - 但是一旦使用Linq-to-SQL并使用Linq-to-Entities.您不能对实体框架EDMX模型使用Linq-to-SQL.
Linq-to-SQL很棒
另一方面,实体框架
简而言之:Linq-to-SQL对于SQL Server来说是一个伟大的,简单的,精益的'OR'mean ORM - 如果它能满足您的需求,请使用它.实体框架是一个非常不同的野兽,功能更强大,但也更复杂,更大 - 适合您的下一个关键企业应用程序,但可能对您的个人博客应用程序来说太过分了:-)
如果你想创造一种"面向未来"的东西,并且将使用微软推动未来的OR技术,那么你应该选择Entity Framework.特别是在v4中,它也更容易使用,比以前更精简,更有用.
| 归档时间: |
|
| 查看次数: |
3236 次 |
| 最近记录: |