【发布时间】:2017-08-22 10:30:04
【问题描述】:
我正在学习 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
【问题讨论】:
-
听起来你的问题真的是“我如何使用实体框架?”具体来说,您似乎想使用实体框架构建存储库。有教程和示例可以帮助您入门。
-
我想你更想说我如何使用
ORM,这与stackoverflow 无关。首先,您需要知道您将使用哪个 ORM ADO.NET - LINQ2SQL - EF 和其他......可用。选择一个并开始搜索它们及其 CRUD 操作,这将是一个好的开始。实体框架也不是数据库。这是一个 ORM。 -
我可以使用实体框架(或者我认为我可以),但我在代码隐藏中使用它,这是我不想要的。我可以填充实体框架数据库连接,但我不知道如何与我的类建立连接
-
@AhmetKarabulut 有很多 教程解释了如何使用 Entity Framework,包括 EF's own documentation 和 ASP.NET MVC tutorials
-
我想我不能清楚地说出我的问题,因为我的英语不好。我想知道如何制作分层结构。我不想学习如何使用 EF
标签: c# asp.net entity-framework class orm