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



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

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

我有一个数据库(使用实体框架(,我尝试将SQL查询与aspx的代码隐藏分开。

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

我创建了一个类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;

KitapModel kitap = new Kitapmodel {
kitapAdi = "Harry Potter ve Felsefe Taşı",
ISBN = ......
Yayınevi....
...
Stok = 5,
TurTurID = 1 }
kitapModelProvider.insertKitap(kitap) // or kitapModel.insertKitap

好吧,既然您是 ASP.NET 编程新手,我试图让您走上正确的道路。

首先什么是ORM:

来自维基百科:

对象关系映射(ORM, O/RM, 和计算机软件中的 O/R 映射 是一种编程技术 在不兼容之间转换数据 关系数据库中的类型系统 和面向对象编程 语言。这实际上创建了一个 "虚拟对象数据库"可以是 在编程中使用 语言。既有免费和 提供的商业包 执行对象关系映射, 尽管一些程序员选择使用 创建自己的ORM工具。

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

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

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

EF 提供 2 种类型的方法:

  • 代码优先

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

  • 数据库优先

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

了解这些内容及其工作原理后,需要了解 EF CRUD 操作。

最后,您可以开始使用 EF 查看存储库模式和工作单元模式。

最新更新