EntityFramework Core로 데이터베이스 생성하기 

 

 

Blank Solution 생성 (AspnetNote)
New Project - AspnetNote.MVC6

'dev. > 기록용' 카테고리의 다른 글

[ASP.NET MVC] start2  (0) 2020.08.02
[ASP.NET MVC] start  (0) 2020.08.02
[c#] start  (0) 2020.08.02
웹 포트폴리오 제작 참고 자료  (0) 2020.07.14

_Layout

Views - Shared - _Layout

Razor Syntax

- 골뱅이 기호 @ 사용 

- if, for, foreach 구문 

- (string) > (int),Tosring(); 

 

-index.cshtml

@{

    var name = "홍길동 ";
}

<h1>@name 님 환영합니다. </h1>

 

http://localhost:51523/Study

 

@{

    var name = "홍길동 ";
    var age = 10;
}

<h1>@name 님 환영합니다. </h1>

@if (age == 10)
{
    <h2> @name 님은 @age 살 입니다. </h2>

}
else
{
    <h2> @name 님은 나이를 알 수 없습니다. </h2>
}

@for (var index = 1; index < 10; index++)
{
    <h2> @index 번째 입니다.</h2>

}

 

Controller에서 View로 데이터 전달

1. New fordels - (Models)

2. Models - new Class (User.cs)

 

3. Models - User.cs

User.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace AspNetCoreProject.Models
{
    public class User
    {
        //사용자 번호 
        public int UserNo { get; set; }
        //사용자 이름
        public string UserName { get; set; }

    }
}

 

4. Controller - HomeController.cs

#1번째 방식 View(model)

return View(hongUser)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using AspNetCoreProject.Models;

namespace AspNetCoreProject.Controllers
{
    
    public class HomeController : Controller
    {
        //http://www.example.com/Home/Index
        public IActionResult Index()
        {
            //var HongUser = new User();
            //HongUser.UserNo = 1; 
            //HongUser.UserName = "홍길동";

            var HongUser = new User
            {
                UserNo = 1,
                UserName = "홍길동"
            };

            return View(HongUser);
        }


        public IActionResult Error()
        {
            return View();
        }
    }
}

5. View - Index.cshtml

<h1>사용자 번호 : @Model.UserNo</h1>
<h1>사용자 이름 : @Model.UserName</h1>

 

 

 

4-1. Controller - HomeController.cs

#2번째 방식 ViewBag

return View()

 

4-2. Controller - HomeController.cs

#3번째 방식 ViewData

return View()

 

EntityFramework Core 소개 및 MS SQL Server 

ASP.NET MVC

 

C# DB 통신 

-ADO.NET 

-Enterprise Library 5 

  쿼리문을 직접 작성 > 값을 처리

  Logging

=> 위 두가지는 쿼리문 직접 작성해야 > 오류 발생의 소지가 높음. 

 

# ORM

Java JPA - 기준 > 하이버네이트 

C# Entityframework 

  Mapper

 

#게시판 프로젝트 

Asp.net MVC , MS SQL, EntityFramework

 

EntityFramework 1.0~ 6.0 > .net Framework

ASP.NET Core > 7.0 > EntityFramework Core

ASP.NET Core 1.X 

EntityFramework Core 1.1

 

EntityFramework (개발 방식 2가지)

1. Database First 방식

-Database DBA(데이터베이스 관리자)

-설계 완료, 물리적 데이터베이스도 모두 완성된 상태. 

=> Database 기준으로 Application 개발

 

2.Code First 방식 

=>Database 기준으로 Application 개발 역으로 Code > Database 생성해 Application 개발

 

MS Server 

-SQL 엔진

-Management Studio 

 

MySQL

-MySQL 엔진

-Workben

 

MsSQL 다운로드 

https://dololak.tistory.com/322

 

[MS-SQLServer] SQL Server 2016 설치 방법

이전글 [MS-SQLServer] SQL Server 2016 이미지 다운로드 및 설치 전 준비 SQL Server 2016 설치 방법 이전글에서 이미지를 다운로드 받으셨다면 다음과 같이 약 3GB 크기의 이미지 파일이 생성됩니다. 다운받�

dololak.tistory.com

https://dololak.tistory.com/323

 

[MS-SQLServer] SSMS(SQL Server Management Studio) 다운로드 및 설치 방법

SSMS(SQL Server Management Studio) 다운로드 및 설치 방법 Microsoft SQL Server의 관리 프로그램인 SSMS 다운로드 및 설치 방법을 알아보겠습니다. 1. 다음의 링크에 접속합니다. 링크는 변경될 수 있으며, 그..

dololak.tistory.com

https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017

 

SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS)

최신 버전의 SSMS(SQL Server Management Studio)를 다운로드합니다.

docs.microsoft.com

MSSQL SA 비밀번호 설정

설정이유

-Web Server와 SQL Server가 다른 컴퓨터일 경우 

sa= super admin

sa1234 

로그인 문제시 참고자료 오류: 18456
https://hannom.tistory.com/195

 

 

'dev. > 기록용' 카테고리의 다른 글

[ASP.NET MVC] start3  (0) 2020.08.02
[ASP.NET MVC] start  (0) 2020.08.02
[c#] start  (0) 2020.08.02
웹 포트폴리오 제작 참고 자료  (0) 2020.07.14
builtwith

사용 기술

https://builtwith.com/ko/

 

BuiltWith

Find out what websites are BuiltWith

builtwith.com

.net Framework , .net Core

#Asp.net

-Web Form

  winform

  웹페이지 내에 소스 코드 존재할 수 있다. > 유지보수 어려움

 

-ASP.NET MVC

  View        > HTML , CSS, JavaScript

  Controller > DB 통신, 기타 계산 .. 

  Model      > User

 

-SignalR

  실시간 채팅 서비스

 

-Web API

  데이터베이스에서 나온 정보를 XML JSOM 형식 송출해주는 서비스

  RESTful APT

  JSON

  Stateless

  모튼 플랫폼 통신이 가능

  ex) java spring ajax , WPF winform javaFX (윈도우 프로그램에도 적용), 안드로이드와 iso 앱 통신 가능

 

#ASP.NET 와 ASP.NET CORE

기능상 모두 비슷함

-차이점

APS.NET - Full dot Net 

system.Net.XXXX

system.Net.XXXX

system.Net.XXXX

 

ASP.NET CORE

system.Net.XXXX > 제거

 

#ASP.NET Version

ASP.NET 4.61 - ASP.NET MVC 5

ASP.NET 5 - ASP.NET MVC 6 or ccore 

 

Google asp.net mvc 5

 

ASP.NET MVC Core 프로젝트 만들기 

ASP.NET5 MVC6  
참고 자료 https://blog.kgoon.net/2

-asp.net 다운 

DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe
0.66MB

-cmd

//cmd 
dnvm upgrade

- vs 재실행

설치 확인 가능

왼쪽 사진 - 위 1개 MVC 5, 아래 2개 MVC 6 

3번째로 사용
web Application 택 , Azure 택 X (지금 사용 안할거)

MVC

Model View Controller 

 

ASP.NET MVC

 

http://www.example.com/ 

http://www.example.com/> Home Contoller - Index Aciton 

 

 

 

 

 

 

 

 

 

 

 

 

HomeController.cs

메서드 하나 당 하나의 페이지

페이지의 뷰가 오른쪽 Views 내 있어야 함.  

 

1. Controller - MVC Controller Class 생성 (StudyController.) 

Controller - MVC Controller Class 생성 (StudyController.) 
StudyController.cs 작성

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

// For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860

namespace AspNetCoreProject.Controllers
{
    public class StudyController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            return View();
        }

        // IAR > IActionResult
        public IActionResult Java()
        {
            return View();

        }
        public IActionResult CSharp()
        {
            return View();

        }
        public IActionResult Cpp()
        {
            return View();

        }
    }
}

 

2. View - add - new Folder (Study)

3. study - MVC View Page ( Index.cshtml , Java.cshtml , CSharp.cshtml )

4. View Page ( Index.cshtml , Java.cshtml , CSharp.cshtml ) 작성

View - add - new Folder (Study)

 

study - MVC View Page (  Index.cshtml , Java.cshtml , CSharp.cshtml )
Index.cshtml 작성

@*
    For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
}


<h1> StudyContoller - Index 페이지 </h1>

 

@*
    For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
}

<h1> StudyContoller - java 페이지 </h1>

 

CSharp.cshtml

5. IIS Express 확인

http://localhost:51523/Study
http://localhost:51523/Study/Java
http://localhost:51523/Study/CSharp

Ctrl+F5 디버깅 해제

'dev. > 기록용' 카테고리의 다른 글

[ASP.NET MVC] start3  (0) 2020.08.02
[ASP.NET MVC] start2  (0) 2020.08.02
[c#] start  (0) 2020.08.02
웹 포트폴리오 제작 참고 자료  (0) 2020.07.14
참고자료
https://www.youtube.com/watch?v=wYMKYdDXwZI&list=PLbPz1r_wDPhEcKDJbOBw_3h5c2gtyDicX

C#

- 윈도우 콘솔

- 윈도우 Form (윈도우 응용 프로그램)

- WPF (Windows Presentation Foundation) = 윈도우 응용프로그램 개발

- Xamarin

- asp.net webform

 .aspx

- asp.net mvc =/ spring mvc

- unity 3d

 c# << c++

 WPF unity 3d //인디 개발자

- WCF(windows communication Foundation)

 소켓 통신 TCP/IP, Restful API

 

Hyper-V

virtual machine 가상머신. windows8 이상 기본 탑재

https://www.datadoghq.com/dg/monitor/hyper-v-benefits/?utm_source=Advertisement&utm_medium=GoogleAdsNon1stTier&utm_campaign=GoogleAdsNon1stTier-VMHyperVNonENES&utm_content=Infra&utm_keyword=%2Bhyperv&utm_matchtype=b&gclid=EAIaIQobChMI_9fnv9H66gIV1wRyCh3kgACwEAAYASAAEgIIS_D_BwE

 

Datadog Hyper V Monitoring | Datadog

See metrics from all of your apps, tools & services in one place with Datadog's cloud monitoring as a service solution. Try it for free.

www.datadoghq.com

 

Visual Studio 

영문화 버전 받기 위해서는 한국페이지X 

Visual Studio Community 2015

https://visualstudio.microsoft.com/ko/vs/older-downloads/

 

Visual Studio 이전 다운로드 - 2017, 2015 및 이전 버전

Visual Studio Community, Professional 및 Enterprise 소프트웨어의 이전 버전을 다운로드하세요. 여기서 Visual Studio(MSDN) 구독에 로그인하세요.

visualstudio.microsoft.com

 

Hello, world

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("안녕! C#");

            Console.Write("Hello, C#");
        }
    }
}

F5 debugging  / Ctrl+F5 콘솔창 띄워두기

using import

namespace package 

 

변수

if 

while

 

 

Productivity Power Tools 2015

vusual Studio - marketPlace 

다운로드 후 vs 재시작 

 

 

2015 버전용 다운 

https://marketplace.visualstudio.com/

 

Visual Studio Marketplace

Extensions for Visual Studio family of products on Visual Studio Marketplace

marketplace.visualstudio.com

설치 후 가이드라인 도구 확인 가능

for

foreach
for

Generic List , 사용자 정의 클래스

List<int> list = new List<int>();
List<String> list = new List<String>();
var list = new List<int>();
***선언과 동시에 초기화함

 

프로젝트 내 새로운 클래스 User 생성. 

 

getter, setter 선언 방식 비교 **오른쪽 사용! 

메서드를 통해 데이터 값 조작

get : 멤버변수 값 반환. return 받기.

set : 멤버변수 값 할당. 저장

 

-User.cs

User.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class User
    {
        
        //번호 , 이름 , 나이, 연락처

        //porp + tab + tab 단축키 사용

        public int No { get; set; }

        public string Name { get; set; }

        public int Age { get; set; }

        public String Phone { get; set; }
    }
}

-Program.cs

Program.cs
Program.cs (보완)
Program.cs (보완2)

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1 2 3 4 5 6 7 8 9 10 
            // 1 2 3 4 5 6 7 8 9 10 
            // 1 2 3 4 5 6 7 8 9 10 

            // 2차원적 데이터
            // 번호 이름  나이  연락처 
            // 01  김김김 30  010-1111-1111
            // 02  마마마 31  010-1111-1112

            var user1 = new User();
            user1.No = 1;
            user1.Name = "김김김";

            var user2 = new User();
            user2.No = 2;
            user2.Name = "마마마";

            var list = new List<User>();
            list.Add(user1);
            list.Add(user2);

            foreach(var user in list)
            {
                Console.WriteLine("번호 : " + user.No + " / 이름 : " + user.Name);
            }
        }

    }
}

(보완2)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            var list = new List<User>()
            {
                new User()
                {
                	//Ctrl + Space
                    No = 1,
                    Name = "김김김",
                    Age = 30,
                    Phone = "010-1111-1111"
                },
                new User()
                {
                    No = 2,
                    Name = "마마마",
                    Age = 31,
                    Phone = "010 - 1111 - 1112"
                }
        };

            foreach (var user in list)
            {
                Console.WriteLine("번호 : " + user.No + " / 이름 : " + user.Name);
            }
        }

    }
}

Class, mthod, 클래스 라이브러리

test

-Calc.cs

Calc.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //클래스명 클래스지정명  = new 클래스명 (); 객체생성 
            Calc calc = new Calc();
            calc.PrintHello();
        }

      

    }
}

-Program.cs

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //클래스명 클래스지정명  = new 클래스명 (); 객체생성 
            Calc calc = new Calc();
            calc.PrintHello();
        }

      

    }
}

calc

-Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //클래스명 클래스지정명  = new 클래스명 (); 객체생성 
            Calc calc = new Calc();
            Console.WriteLine(calc.Plus(10, 20));
        }

      

    }
}

-Calc.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Calc
    {
        
        public void PrintHello()
        {
            Console.WriteLine("안녕하세요");
           
        }

        public int Plus(int num1, int num2)
        {
            return num1 + num2;
        }
    }
}

 

새로운 프로젝트 생성하여 클래스 작성. 
project reference 시킴
using FirstLibrary; 입력 후 에러 없음. (using 다른 프로젝트의 클래스명) 또는 Ctrl+. 하여 선택

SQL 

- MS SQL server (유료)

 developer DB (무료)

 Express ( 무료 - 소규모 개발, 공부 )

- Oracle

- MySql

 

모바일 

SQLite - 안드로이드, IOS

NoSQL

 

Java - DB 연결

-JDBC

-JDBC ibatix mybatis

-JDBC Hibernate

 

C# - DB 연결 

-ADO.NET 

-Enterprise Library

개발자가 직접 쿼리를 작성

-EntityFramework + Linq

 

일반 SQL => SELECT * FROM user WHERE userNo=1; 

Linq        = > user.where(u=>u.userNo=1)

 

MS SQL Express

Microsoft® SQL Server® 2016

https://www.microsoft.com/ko-kr/download/confirmation.aspx?id=56840

 

Download Microsoft® SQL Server® 2016 서비스 팩 2 Express from Official Microsoft Download Center

Microsoft Excel용 파워 쿼리 --> Microsoft Excel용 파워 쿼리는 데이터 검색, 액세스 및 공동 작업을 간소화하여 Excel에서 셀프 서비스 비즈니스 인텔리전스 환경을 향상시키는 Excel 추가 기능입니다.

www.microsoft.com

 

'dev. > 기록용' 카테고리의 다른 글

[ASP.NET MVC] start3  (0) 2020.08.02
[ASP.NET MVC] start2  (0) 2020.08.02
[ASP.NET MVC] start  (0) 2020.08.02
웹 포트폴리오 제작 참고 자료  (0) 2020.07.14

https://okky.kr/article/397774

 

OKKY | [포트폴리오 공유] 취업 준비하시는 분들/신입분들 참고

안녕하세요, 이제 실무 경력 1년 6개월 정도밖에 안 된 개발자 입니다. 커뮤니티 활동 하는 것을 좋아해서 즐겨하고 있는데, 취업 준비하시는 분들이 포트폴리오를 어떻게 작성하는지에 대해 궁�

okky.kr

https://developer-mse1990.tistory.com/2

 

개발자 포트폴리오 참고자료

자주 드나드는 OKKY사이트에서 보게 된 포트폴리오! 개인적으로 깔끔하고 필요한 내용만 담은거 같아 좋은거 같습니다. 저도 포트폴리오를 작성해야 하는데 참고하려고 합니다. OKKY사이트 링크:�

developer-mse1990.tistory.com

 

https://luckyyowu.tistory.com/382

 

28세 요우의 개발자 이직 대탐험

안녕하세요. 요우입니다. 아시는 분들만 아시겠지만 사실 최근에 이직을 했습니다. 예전 직장 개발 팀장님이 셨던 브래드님께서 포스팅한 스타트업 면접과 후기 꿀팁 글을 보고 언젠가 나도 ��

luckyyowu.tistory.com

 

 

 

'dev. > 기록용' 카테고리의 다른 글

[ASP.NET MVC] start3  (0) 2020.08.02
[ASP.NET MVC] start2  (0) 2020.08.02
[ASP.NET MVC] start  (0) 2020.08.02
[c#] start  (0) 2020.08.02

+ Recent posts