如何在asp.net中创建分层结构

时间:2017-08-22 10:30:04

标签: c# asp.net entity-framework class orm

我正在学习C#& ASP.NET。

我正在尝试制作一个结构,我不知道可以称之为ORM。

我有一个数据库(使用Entity Framework),我尝试将SQL查询与aspx的代码隐藏分开。

我的数据库中有4个表(Kitaplar,Musteriler,Kiralamalar,Turler) 在我的Kitaplar表中,我有8个字段(KitapID(FK),KitapAdi,ISBN,Yayinevi,Yazaradi,Basimtarihi,Stok,TurTurID)。

我创建了一个班级<div> { isCondition1 == true? 'Show issue list' : {msgNoIssues} } </div> <div> { isCondition2 == true ? 'Show team issue list' : {msgNoIssues} } </div>

Kitapmodel.cs

我还为数据库连接和其他事情创建了using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace KütüphaneYonetimSistemi.Models { public class KitapModel { public int KitapID { get; set; } public string KitapAdı { get; set; } public string ISBN { get; set; } public string Yayınevi { get; set; } public string YazarAdı { get; set; } public DateTime BasimTarihi { get; set; } public int Stok { get; set; } public int TurTurID { get; set; } } } 这就是我被困住的一点。

kitapModelProvider.cs

在我的using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace KütüphaneYonetimSistemi.Providers { public class kitapModelProvider { } public KitapModel getByKitapID(int ID) { KutuphaneYonetimDB db = new KutuphaneYonetimDB(); KitapModel bookListEF = from k in db.Kitaplar join t in db.Turler on k.TurTurID equals t.TurID select new { k.KitapAdı, k.YazarAdı, t.TurAdı, k.Yayınevi, BasimTarihi = k.BasimTarihi.ToString().Replace(" 12:00AM", "").Replace("Jan", "Ocak").Replace("Feb", "Şubat").Replace("Mar", "Mart").Replace("Jun", "Haziran").Replace("Sep", "Eylül").Replace("Nov", "Kasım").Replace("Oct", "Aralık").Replace("Apr","Nisan"), k.ISBN, k.Stok }; return bookListEF; } public void insertKitap(KitapModel kitap) { KutuphaneYonetimDB db = new KutuphaneYonetimDB(); db.Kitaplar.Add(kitap); db.SaveChanges(); } /* other methods */ } 文件中,我想要执行createBook.aspx.cs;

之类的操作
this

1 个答案:

答案 0 :(得分:0)

好的,因为你是ASP.NET新手编程的新手,我试着让你走上正确的道路。

首先什么是ORM:

From wikipedia

  

对象关系映射(ORM,O / RM,   和计算机软件中的O / R映射   是一种编程技术   在不兼容之间转换数据   在关系数据库中键入系统   和面向对象的编程   语言。这实际上创造了一个   &#34;虚拟对象数据库&#34;那可以   在编程中使用   语言。有免费和   可用的商业套餐   执行对象关系映射,   虽然有些程序员选择   创建自己的ORM工具。

它有助于抽象出数据存储(SQL数据库/ NoSQL数据库等),以便提供可在代码中使用的接口。 .NET中用于连接SQL的常用ORM是:

  • ADO.NET
  • LINQ To SQL
  • ADO.NET实体框架

现在,您已选择EF(实体框架)作为对象关系映射[ORM]。第二步是学习EF的基础知识,你可以找到here

EF提供两种方法:

  • 代码优先

在哪里提供POCO类及其映射和EF将在dbcontext类的OnBuildingMethod()中为您创建表设计。

  • 数据库-首先

创建表格设计的传统方式然后您将数据库连接到您的应用程序并添加ADO.NET Entity Data Model并使用它的向导调用所有表格并为您创建POCO。

在您了解了这些以及它如何运作之后,您需要了解EF CRUD Operations

最后,您可以使用EF开始查看Repository PatternUnit of Work Pattern