我有3张桌子。产品,步骤和图片。
我正在使用Microsoft Visual Studio和Razor,目前我正在使用UrlData来加载数据库中正确的表和字段。 www.example.com/Id=1(显示产品#1)
var productId = UrlData[0].AsInt();
var product = db.QuerySingle("SELECT * FROM Steps WHERE Id = @0", productId);
我已经成功地提取了我想要显示的数据,但现在的问题是使用非常简单的+1 UrlData或-1 UrlData进行下一步或后退。显然,如果删除某个步骤并且网站不会在产品的步骤结束时停止,这将无效。
我现在处于这一点我相信我需要使用连接表我需要使用UrlData显示3个表中的所有数据。
我创建了一个测试连接表ex:“joinTest” 字段:Id,PictureId,StepId,ProductId
如何查询此表以显示第一段中的上述所有数据?
我的剃刀查询的更多示例:
string description = product.description;
var step = db.QuerySingle("SELECT * FROM Products WHERE Id = @0", product.ProductId);
var steps = db.Query("SELECT Id, StepName FROM Steps WHERE ProductId = @0", productId).ToList();
var photos = db.Query("SELECT Id, FileTitle FROM Pictures WHERE StepId = @0", productId).ToList();
答案 0 :(得分:1)
您无需为此添加新表。只是现有NextStepId
表的新字段StepSeqNum
或Steps
。您还需要将当前步骤添加到Url。
答案 1 :(得分:0)
如果您只想显示3个表中的数据,为什么要创建第三个表?只是做:
p_load
但是我不认为这会解决+1或-1的问题,实际上我看不到那个和join命令之间的关系!
在更改页面之前加载包含所有可用ID的数组不是更好吗?
您可以指定任何列,您将看到所需的所有数据。
你想要的吗?