어떻게 nodejs로 C#에 데이터 테이블의 실체 클래스 생성 도구를 씁니까
오래된 프로젝트에 주변 도구를 만들려면 데이터베이스에 연결해야 하기 때문이다.
나는 데뷔 때부터 줄곧 사용해 왔던 ORM을 Entity Framework Core로 하는 것이 습관적이다.
EF6 시대, vs는dbfirst를 제공했지만 sql 서버를 겨냥한 것 같습니다.
이번 데이터베이스는 MySQL이기 때문에 vs 많은 것들이 지원되지 않습니다.
하지만 지지가 부족하면 스스로 손을 써서 풍족하게 먹어야지.
우리는 js라는 템플릿 엔진을 사용하여 생성기를 만든다.
npm install ejs
그런 다음 질의로 테이블 구조를 내보냅니다.
b.query('desc posts').then(res => {
})
그리고 템플릿을 작성합니다. js의 템플릿 문법은 aspx시대 때의 템플릿 문법과 매우 비슷합니다. 모두 괄호 + 백분호 같은 스타일입니다. <%%>. aspx 개발 경험이 있는 베테랑들이 이 템플릿 엔진에 익숙하다고 믿습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace
{
public class <%= table -%>
{
<% rows.forEach(function(row){ -%>
<% if(row.Type.indexOf('bigint')!=-1){ -%>
public long <%= row.Field %> { get; set; }
<% } -%>
<% if(row.Type.indexOf('datetime')!=-1){ -%>
public DateTime <%= row.Field %> { get; set; }
<% } -%>
<% if(row.Type.indexOf('varchar')!=-1){ -%>
public string <%= row.Field %> { get; set; }
<% } -%>
<% if(row.Type.indexOf('mediumtext')!=-1){ -%>
public string <%= row.Field %> { get; set; }
<% } -%>
<% if(row.Type.indexOf('bit')!=-1){ -%>
public bool <%= row.Field %> { get; set; }
<% } -%>
<% if(row.Type.indexOf('longtext')!=-1){ -%>
public string <%= row.Field %> { get; set; }
<% } -%>
<% }); -%>
}
}
위의 템플릿에서는 서로 다른 MySQL 데이터 유형에 대한 C# 유형 매핑을 수행했습니다.그리고 js를 사용하여 텍스트를 렌더링하고 폴더에 저장하면 ok합니다
var tableName = ' '; // class cs
ejs.renderFile('./template/posts.ejs', { rows: res.rows, 'table': tableName}, (err, str) => {
if (err) {
console.error(err);
}
else {
let temp = path.join(__dirname, 'temp');
var exist = fs.existsSync(temp)
if (!exist) {
fs.mkdirSync()
}
fs.writeFile(path.join(temp, tableName+'.cs'), str, (err) => {
if (err) {
console.error(err);
} else {
console.log(' ');
}
})
}
})
node를 사용하여 실행하면 cs 파일을 생성할 수 있습니다.나는 시계가 많지 않기 때문에, 나는 단독으로 생성하면 된다.전체 데이터베이스 생성을 확장하려면 몇 줄의 코드를 더 쓰면 전체 라이브러리가 생성될 수 있습니다!
이상은 nodejs로 C#에 데이터 테이블의 실체 클래스 생성 도구를 작성하는 방법에 대한 상세한 내용입니다. 더 많은 nodejs에 대한 자료는 저희 다른 관련 글에 주목하십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Node.js를 AWS서버에서 사용하는 실습간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELET...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.