본문 바로가기

Programing

(391)
DataContext Step by step 백문이 불여일타라고 실제로 DataContext를 이용해서 LINQ를 이용해서 데이터를 조작하는 것을 정리해본다.Visual Studio 2008에 있는 서버 탐색기 > 데이터 연결을 이용해서 ORM을 이용해 보겠다. 1. DB 구성 DB: SQL Server 2008 Standard를 사용합니다. 아래 스크립트로 샘플용 테이블을 생성한다.주의해야 할 점은 테이블에는 기본키(Primary Key)가 꼭 있어야 한다는 것이다.그렇지 않으면 Create, Update, Delete작업시에 아래와 같이 에러가 난다.처리되지 않은 예외: System.InvalidOperationException: 'Table(TableEx)'에 기본 키가 없으므로 Create, Update 또는 Delete 작업을 수행할 수 ..
자주쓰는 LINQ 정리 쿼리식 표현식 using System.Linq; // Where, OrderByDescending DataContext를 이용 System.Data.Linq.DataContext를 상속받아 구현 INSERT - 해당 테이블의 클래스를 생성후 InsertOnSubmit()를 호출, 이후 SubmitChanges()를 호출하여 데이터 변화를 반영시킴.(자동 생성되는 값이 있을 경우에는, 인스턴스에 값을 자동으로 받아옴) UPDATE - 인스턴스의 값을 수정 후에 SubmitChanges()를 호출, 주의해야 할 점은 ChangeConflictException 예외가 발생할 수 있다는 점임. 예외처리를 해줄 필요가 있음. 이후 ResolveAll()을 호출하여 충돌을 해결해야 함. ResolveAll의 인자:..
ADO.NET 데이터 프로바이더들(Data Providers) 원제: ADO.NET Data Providers Data Developer Center > Learn > ADO.NET > ADO.NET Data Providers 주소: http://msdn.microsoft.com/en-us/data/dd363565.aspx 기본 SQL Server - 개발도구에 포함(당연!) - System.Data.SqlClient 네임 스페이스 - DLL은 System.Data.SqlClient.dll이 아닌 System.Data.dll에 포함되어 있다.서드 파디 제공들 - MySQL - ORACLE - SQLite - Npgsql 샘플 - ADO.NET Entity Framework Query Samples LINQ to SQL을 사용하는 전형적인 단계(Typical Step..
SQLite in LINQ Community.CsharpSqlite.SQLiteClient는 추상클래스 System.Data.Common.DbConnection를 구현하고 있기 때문에 쉽게 LINQ사용이 가능할 것이라고 생각했다. 아래와 같은 테이블에CREATE TABLE IF NOT EXISTS [MFPUserMap] ( [MapID] INTEGER PRIMARY KEY AUTOINCREMENT, [MFPIP] varchar(50) NOT NULL, [UserName] nvarchar(50) NOT NULL, [MFPUserID] int NOT NULL, [CreatedDate] datetime DEFAULT (datetime('now','localtime'))); 아래와 같은 컨텍스를 구현하는 클래스를 만들고public par..
Community.CsharpSqlite 사용하기 버그1. 시간타입 문제 DEFAULT가 걸려있는 컬럼에 데이터를 넣으면 2012-12-30 로 들어가는 이상한 현상이 있었다. LINQ를 쓸때의 문제인가 생각했는데 SQLiteClient를 직접사용할 때도 동일한 현상이 발생했다. http://code.google.com/p/csharp-sqlite/ 의 Download에서 zip 파일을 받으면 아래와 같이 여러 디렉토리로 나뉘어 있다. 이중 필수는 Community.CsharpSqlite 디렉토리의 프로젝트에서 만들어지는 Community.CsharpSqlite.dll 파일이다.하지만 이 라이브러리는 SQLite를 저차원으로 구현해 놓은 것이라 바로 사용하기는 어렵다. 위에 녹색박스가 있는데 Community.CsharpSqlite.SQLiteClien..
.NET DLL 이나 어셈블리(assembly)에서 public key 구하기 .NET DLL 이나 어셈블리(assembly)에서 public key 구하기 sn.exe 에 -T 옵션을 붙여 실행하면 구할 수 있다.> C:\WINNT\Microsoft.NET\Framework\v3.5>sn -T EdmGen.exe ref. How to find public key token for a .NET DLL or assembly
Microsoft SQL Server Compact C#으로 임베디드 DB를 알아보던중 SQL Server Compact와 SQLite를 후보에 두었다.현재 나와 있는 버전은 4.0.하지만 내가 사용하고 있는 개발도구 VS2008 SP1에서는 3.5버전 밖에 Server Explore에서 지원을 하지 못한다.4.0은 VS2012에서 지원이 된다고 한다. 라이브러리 다운 - SQL Server Compact Edition 대문 - 현재 4.0버전을 받을 수 있다. - Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop - SSCERuntime-ENU.exe MSDN - SQL Server Compact 4.0 and Visual Studio :: Visual Studio 2012 - SQ..
SQLite for .NET SQLite는 모바일 장치 - 특히 스마트 장치가 나오면서 유명해진 것 같다.안드로이드나 아이폰 등에서는 기본적으로 SQLite의 사용을 할 수 있는 라이브러리가 OS에서 지원을 한다.사실 SQLite는 리차드 힙(Richard Hipp) 박사에 의해 2000년 8월에 SQLite 1.0이 나왔다. 다양한 플랫폼과 다양한 언어로 포팅이 되어 있어 인기가 있는 오픈소스프로젝트라는 것의 예이다. .NET을 위한 위한 래퍼들도 존재를 하는데,MyBatis에서 지원하는 것은 두 가지이다. - SQLite3 Finisar : SQLite.NET (2006-11-25 23:46 이후로 업데이트 중지) -> ADO.NET 2.0 Provider for SQLite (마지막 업데이트 2010-12-10) VS2008 ..