我习惯经典Asp,我从未使用过DAL/BLL概念,现在我正在学习MVC并试图远离BAD习惯(例如在ASP页面本身中编写SQL查询).我读到了关于数据访问层和业务逻辑层......它们有意义,但我想弄清楚如何将它们放入我当前的应用程序中.
它是一个购物车应用程序.
目前我没有使用EF或SQL实体,简单的旧ADO.NET,我的函数返回DataTable.
让我给你举个例子.
1 - I need to Return Products From SQL Table
2 - My Products Model Class will hold the SQL Table output
3 - and then I will show the output to View
Run Code Online (Sandbox Code Playgroud)
查询涉及到产品
Select * From Products Where title = 'Bluh'
Run Code Online (Sandbox Code Playgroud)
ProductsModelView.vb
Class ProductsModelView
Public title as string
Public sku as string
....etc
End Class
Run Code Online (Sandbox Code Playgroud)
现在我的视图将只是渲染结果(列表(ProductsModelView))
现在我的问题是......我应该如何将上述步骤构建到DAL和BAL图层中.
我的应用程序使用3层:DAL/Service/UL.
我的典型DAL类看起来像这样:
public class OrdersRepository : IOrdersRepository, IDisposable
{
private IDbConnection _db;
public OrdersRepository(IDbConnection db) // constructor
{
_db = db;
}
public void Dispose()
{
_db.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
我的服务像这样调用DAL类(注入数据库连接):
public class ordersService : IDisposable
{
IOrdersRepository _orders;
public ordersService() : this(new OrdersRepository(new Ajx.Dal.DapperConnection().getConnection()))
{
}
public ordersService(OrdersRepository ordersRepo)
{
_orders = ordersRepo;
}
public void Dispose()
{
_orders.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
最后在我的UI层中,这就是我访问服务层的方式:
public class OrdersController : Controller, IDisposable
{
//
// GET: /Orders/
private ordersService _orderService;
public OrdersController():this(new ordersService())
{ …Run Code Online (Sandbox Code Playgroud) 我使用网络表单开发网站,现在我有一个项目,我使用Rzor MVC3框架.我的问题是关于MVC中的一些基本设计模式.我有一个网页,在左侧我将从SQL表中拉出类别,在中心我将查询另一个Sql表,以及整个页面上的更多.
所以我的问题是......什么是将数据引入一个网页的最佳方式,所有这些查询完全独立,我是否需要为每个查询创建新的MODEL?或者有更好的方法吗?
在WebForms中,我使用了用户控件,其中每个用户控件都有自己的设计和Sql查询.我听说过在MVC中使用部分视图,但我不确定,我想我很难理解如何使用不同的查询和在网页上显示输出将数据导入一个网页.
谢谢
我尝试了几个小时的Quartz.com文档和谷歌搜索...但是找不到关于如何获得Next Job的一篇好文章(将来可以解雇).
我正在使用CronTrigger Expression来安排作业,使用VB.net(winforms).工作正常...但我希望我的用户看到它下一次火灾.我在我的数据库中存储CronExpression,我可以使用该Expression 向我的最终用户显示下一个Fire Date/Time吗?或者如果有其他可能的方法,请提供建议(简单明了).
谢谢
编辑
以下代码返回下一个作业将在12分钟而不是20分钟后触发
Dim exp As CronExpression = New CronExpression("0 0/20 * * * ?")
Dim nextFire As String = exp.GetNextValidTimeAfter(DateTime.Now)
MsgBox(nextFire)
Run Code Online (Sandbox Code Playgroud) 我正在使用iTextSharp创建Shipping Label.
我正在做的是用PDF创建标签,这样我就可以用我想要的任何方式对其进行格式化,然后将其发送到我的热敏打印机.
我的问题是,我的标签大小为4x6(标准运输标签).这些是我们在UPS和Fedex包上看到的标签.如何使我的PDF完全适合4x6英寸?目前正在普通A4文件中打印.
我使用以下:
Dim document As New Document()
document.SetPageSize(PageSize.A4_LANDSCAPE)
Run Code Online (Sandbox Code Playgroud) 我有QuickBooks 2010专业版,因为标题建议我需要将产品和发票导入Quickbooks.
一些背景......
我们是一家在线公司,我们在线销售产品,我的客户希望将所有产品导入quickbooks,并将每个在线销售导入quickbooks,我们的网站使用ASP.NET和SQL Server构建.
我是quickbooks的新手,所以我不知道该怎么做...
我听说过IIF导入和SDK,遗憾的是我无法找到它们并提供有价值的文档.任何人都可以请我正确的方向(可能是一些示例代码)?请不要给我quickbook网站的SDK网址.
谢谢
c# ×3
asp.net ×2
vb.net ×2
.net ×1
asp.net-mvc ×1
itextsharp ×1
quartz.net ×1
quickbooks ×1
sql ×1