2013-04-28 6 views
0

이 튜토리얼에서 http://mstecharchitect.blogspot.com/2009/08/aspnet-mvc-and-linq-to-sql-using.html은 MVC에서 LINQ to SQL을 사용할 것을 권장합니다. 그런 다음 내가 여기서 무엇을해야합니까, 기본적으로는 LINQ의 InsertOnSubmit()DeleteOnSubmit().SQL에 대한 MVC와 LINQ의 혼동

내 질문은 대신에 Add()Delete() 같은 방법을 사용하여 (엔티티 프레임 워크처럼 더 보이게 저장소를 작성? 내가 LINQ하지만를 사용하여 사랑 내가 SQL에 LINQ에 대한 엔티티 프레임 워크를 포기하는 경우가 MVC를 끊을 느낄

SQL에 LINQ는 다음 줄을 생성합니다. 그래서

public partial class DataClasses1DataContext : System.Data.Linq.DataContext 

를, 나는 단지 InsertOnSubmit()과 같은 방법을 사용할 수 있습니다 내가 사용할 수 없습니다 Entity Fr의 메소드 숙제는 Add()입니다.

그것은 해답이 될 것 엔티티에 LINQ 같은 소리,하지만 난 그 활동하기 시작하는 방법을 잘 모르겠습니다 ...

는 또한 나쁜 습관이다 것을 의미하는 것하는 여기 Linq.DataContext to Entity.DbContext? 코멘트를 보았다 ..

+3

ASP.NET MVC와 밀접한 관련이 없습니다. 모든 OR지도 당. LINQ to SQL 또는 Entity Framework 또는 다른 적합한 프레임 워크를 선택하십시오. LINQ to SQL은 더 이상 활발히 개발되지 않습니다. –

+0

LINQ to SQL을 더 이상 개발하지 않는 경우 테이블을 끌어서 놓고 연결을 시각적으로 만들 수 있으므로 사용의 편리 성이 뛰어난 다른 기능이 있습니까? – user1477388

+1

Microsoft는 Entity Framework를 제공하고 있으므로 시각적 디자이너를 사용할 수 있습니다. 그러나 많은 사람들이 대신 코드 첫 번째 접근 방식을 사용하는 것을 선호합니다. –

답변

1

먼저 해당 기사의 날짜를 확인하십시오. 그것은 2009 년입니다. 즉, Visual Studio 2010 및 .net 3.5보다 우선합니다. 이 기사에서는 많은 수의 문제가있는 Entity Framework 1.0에 대해 이야기하고 있으므로 EF 1.0보다는 Linq를 사용하는 것이 좋습니다.

그러나 VS 2010 및 EF 4.0에서 이러한 문제는 대부분 해결되었으며 EF는 이제 Linq에서 SQL에 비해 선호되는 방법입니다. L2S는 여전히 지원되지만 Microsoft는 더 이상 중요한 개선 작업을 수행하지 않습니다.

다른 의견에서 언급했듯이 MVC는 데이터베이스에 영향을받지 않습니다. 어떤 데이터베이스 기술도 사용할 수 있으며 어떤 방식 으로든 EF에 종속되지는 않습니다. EF, L2S, nHibernate, ADO.NET 등을 사용할 수 있습니다. MVC는 데이터베이스 기술에 대한 개념이 없으므로 "MVC를 깨뜨리지"않습니다.

많은 사람들이 여전히 EF 위에 저장소와 작업 단위를 구현합니다 (기술을 변경할 수있는 데이터베이스 추상화가 필요하지 않으면 개인적으로 추가 작업으로 간주합니다).

편집 : 가정하자

:이 기사의 말에 사실, EF 이상 L2S을 권장 곳 문서의 추가 읽기시

, 나는이 댓글이 어디서나 볼 수 없습니다 LINQ TO SQL 대신 EF (Entity Framework)를 사용하여 데이터 액세스 기술을 변경하려면 대체 데이터베이스 액세스 기술을 사용하는 클래스로 IStudentRepository 인터페이스를 구현하면됩니다.

+0

비주얼 디자이너 인 EF는 LINQ to SQL과 같습니다. 아마도 LINQ to SQL에없는 항목이있는 경우에 대비하여 사용할 것입니다. L2S가 필요한 모든 것을 다하는 것처럼 보입니다 ... 할 수없는 일을해야한다고 상상할 수는 없습니다. 다른 사람이 추가 할 것이있는 경우에 대비하여 잠시 질문을 남겨 두려고합니다. 귀하의 답변에 감사드립니다. – user1477388

+1

@ user1477388 - L2S에는 많은 제한이 있습니다. 예를 들어, 많은 조인을 직접 지원하지는 않습니다. –

+0

LINQ에서 조인을 원한다면 x.a와 y.a가 같은 myOtherTable에있는 myTable 조인 y와 같은 쿼리를 작성해야 할 것입니다. – user1477388

관련 문제