Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 저장 프로세스 실체 클래스 맵

9734 단어 .net
내비게이션
목록: Farseer.net 라이트급 ORM 오픈 소스 프레임 디렉토리
전편: Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 보기의 데이터 조작
다음 편: Farseer.net 라이트급 ORM 오픈 소스 프레임 V1.x 도입부: 저장 프로세스 데이터 조작
전언
V1.0에 스토리지 프로세스의 매핑이 새로 추가되었습니다.이전 버전에서 저장 프로세스를 조작하는 코드는 이렇게 우아하지 않았기 때문에 매번 조작할 때마다 저장 프로세스 이름, in 파라미터,out 파라미터를 전송해야 한다.
이 버전 이후 스토리지 프로세스는 매핑의 이점을 누릴 수 있습니다.
  • 정의 엔티티 지원
  • 실체에서 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" });

    좋은 웹페이지 즐겨찾기