我目前正在建立一个网站,我们可以为客户跟踪小型活动。我正在使用linq-to-sql和asp.net来构建它。到目前为止,该网站实际上只有10页,只有2个表,事件和客户。我列出了下表中的列:
Events:
-eventid
-eventname
-datecreated
-details
-datedue
-status
-clientname (this should be clientid)
-sentemail
Clients:
-clientid
-clientname
-clientemail
-clientphone
我遇到的问题是让2个数据库表*一起工作。理想情况下,我希望在Events表中将clientname替换为clientid。
我之前设置过这种方式,但在列出事件时遇到了问题:
当我列出事件时,我希望它将客户端名称显示为clientID的appose。不幸的是,我对ASP.net很新,虽然我很容易在PHP中做到这一点但不知道如何让它工作。这不是一个大问题,但我希望能够更新彼此之间的客户列表和事件。
对不起如果这没有什么意义,如果有任何困惑,我会尝试更好地说出来。
*我的修正
答案 0 :(得分:2)
一旦你的数据库规范化,创建一个Linq2Sql上下文,然后你可以编写一个类似于此的查询(以获取事件名称及其客户名称列表):
var results = from e in dbContext.Events join c in dbContext.Clients on e.clientid equals c.clientid select new { e.eventname, c.clientname };
答案 1 :(得分:1)
除了Andrew Lewis的答案之外,您还需要:
1)将clientid字段添加到事件表
2)运行一个sql查询来填充clientid字段:
update events set clientid = (select clientid from client where name = events.clientname)
3)从事件表中删除clientname字段