Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 저장 프로세스 실체 클래스 맵
9734 단어 .net
목록: Farseer.net 라이트급 ORM 오픈 소스 프레임 디렉토리
전편: Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 보기의 데이터 조작
다음 편: Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 저장 프로세스 데이터 조작
전언
V1.0에 스토리지 프로세스의 매핑이 새로 추가되었습니다.이전 버전에서 저장 프로세스를 조작하는 코드는 이렇게 우아하지 않았기 때문에 매번 조작할 때마다 저장 프로세스 이름, in 파라미터,out 파라미터를 전송해야 한다.
이 버전 이후 스토리지 프로세스는 매핑의 이점을 누릴 수 있습니다.
이것은 우리에게 유지보수 재난을 가져왔을 뿐만 아니라, 가장 중요한 것은 하드코딩 방식을 지원하지 않는 것도 매우 우아하지 않다는 것이다.새 버전에서 이 같은 지지를 실현했다.
저장 프로세스 상하문
public class Proc : DbContext<Proc>
{
[Set(Name = "sp_Info_User")]
public ProcSet<InfoUserVO> InfoUser { get; set; }
[Set(Name = "sp_Insert_User")]
public ProcSet<InsertUserVO> InsertUser { get; set; }
[Set(Name = "sp_List_User")]
public ProcSet<ListUserVO> ListUser { get; set; }
[Set(Name = "sp_Value_User")]
public ProcSet<ValueUserVO> ValueUser { get; set; }
}
각 저장 프로세스는 ProcSet으로 캡슐화됩니다.데이터베이스 테이블에 대한 일련의 실행 작업ProcSet에 포함된 것은 저장 프로세스 필드입니다.여기에 좀 특이한 것은 조회 결과 집합의 맵을 제외하고 매개 변수가 전송된 맵을 포함하고 in/out을 구분하는 것이다.
VO 솔리드 클래스
저장 프로세스 엔티티 클래스:
1 public class InsertUserVO
2 {
3 /// <summary> ID </summary>
4 [Field(IsOutParam = true)]
5 public int? ID { get; set; }
6 /// <summary> </summary>
7 [Field(IsInParam = true)]
8 public string UserName { get; set; }
9 /// <summary> </summary>
10 [Field(IsInParam = true)]
11 public string PassWord { get; set; }
12 }
저장 프로세스와 표, 보기의 차이가 비교적 크다.위 코드에서 IsOutParam과 IsInParam을 사용한 특성을 보았습니다.태그를 지정하면 스토리지 프로세스를 수행할 때 이러한 태그에 따라 SQL 매개 변수가 생성됩니다.저장 프로세스로 전송됩니다.
이와 동시에 이 저장 프로세스가 실행되면 데이터 목록을 되돌릴 때 현재 실체 목록을 되돌려줍니다.우리가 표를 조회할 때와 같다.
메모리 프로세스의 매핑을 통해, 우리는 매번 호출할 때마다 수동으로 그들을 지정할 필요가 없다.메모리 프로세스도 ORM할 수 있게 해주셨어요.
저장 프로세스 특성
단 하나: Field Attribute, 시계의 특성과 공통됩니다.다만 스토리지 프로세스에 맞게 설계된 몇 가지가 더 많을 뿐입니다.
먼저 다음 표를 살펴보겠습니다.
번호
변량
메모
타입
적용 범위
설명
1
Name
데이터베이스 필드 이름
string
모조리
테이블 필드, 보기 필드 이름, 저장 프로세스 매개 변수의 이름, 데이터베이스 함수에 지정이 표시되지 않을 때 기본적으로 현재 클래스 속성 이름을 기본 이름으로 사용합니다
2
IsOutParam
필드가 저장 과정 중 출력된 매개 변수인지 여부를 표시합니다
bool
저장 프로세스
기본값:false 설정:true는 SQL 매개 변수 값으로 전송되고Name에 따라 매개 변수 이름을 성명합니다. InParam과 달리 Out은 데이터베이스 저장 과정에서도 이 변수가out이라고 성명합니다. 저장 과정에서 바뀌면 값을 되돌려줍니다.
3
IsInParam
필드가 저장 과정 중 입력한 매개 변수인지 여부를 표시합니다
bool
저장 프로세스
기본값:false 설정:true 는 SQL 매개 변수 값으로 전달되며 Name 선언 매개 변수 이름과 함께 전달됩니다.
다만 두 번째, 세 번째 속성 설명이 많아졌다(TableSet, ViewSet의 특성:Field Attribute와 동일하다).
그것들을 설정하면Farseer가 쉽게 사용할 수 있습니다.Net에서 매개변수와 가져오기 출력은 무엇입니까?
총결산
저장 프로세스의 매핑은 매우 간단하다. 물론 그것의 조작도 매우 간단하다. 다음 편에서 우리는 그것이 제공하는 네 가지 방법을 배워서 조작할 수 있다.
이 편은 여기에서 끝내고, 총결산하는데, 사실 총결산할 만한 것이 없다.
내비게이션
목록: Farseer.net 라이트급 ORM 오픈 소스 프레임 디렉토리
전편: Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 보기의 데이터 조작
다음 편: Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 저장 프로세스 데이터 조작
광고 시간
QQ군: 116228666(Farseer.net 소스 오픈 프레임워크 교류):Farseer.Net
Farseer.Net은 ORM 프레임워크 + 일반 툴 + 확장 집합입니다.
Farseer의 의미: 선지자, 예언자는 보통 어떤 장소에서 계략, 전략을 제공한다.이 틀이 여러분에게 최대한의 편리함을 제공할 수 있기를 바랍니다.
ORM: 영어 전체 이름: Object(객체) Relational(관계식) Mapping(매핑)
Farseer.Net의 목표는 빠른 손놀림, 빠른 개발, 간단하고 편리함이다.
1 Table.Data.User.Where(o=>o.ID == 1).ToEntity();
2 Table.Data.User.Where(o=>o.ID > 1).ToList();
3 Table.Data.User.Where(o=>o.ID != 0).Delete();
4 Table.Data.User.Where(o=>o.ID != 0).AddUp(o=>o.LoginCount, 1);
5 Table.Data.User.Where(o=>o.ID == 1).Update(new User{ UserName = "newName" });
6 Table.Data.User.Insert(new User{ UserName = "newName" });
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.