我正在开发一个包含SQL的C#项目,主要使用实体和linq。
我们说我有两张桌子。
表1
primary key | fktable1 | price
表2
Route::middleware('auth:api')->group(function(){
Route::post('user', 'Api\Auth\PassportController@getDetails');
}
我想在数据网格中显示名称,日期和价格。 如果我们这样做,我该怎么拉 - 或者反之亦然 - 只通过引用外键(表1的主键)来表1中的值?
答案 0 :(得分:0)
如果您唯一的问题是sql语句,您可以使用类似这样的东西(或“join”):
select t1.name, t1.date, t2.price from table1 t1, table2 t2 where t1.primary_key = t2.foreign_key;
如果您有其他问题,请向我们提供更多详情......
答案 1 :(得分:0)
假设您的数据在IEnumerable<Table1>
Table1List和IEnumerable<Table2> Table2List
中,您可以使用LINQ:
Table1List.Join(Table2List,
t1 => t1.PrimaryKey, // replace PrimaryKey by your actual field storing primary key
t2 => t2.fkTable1,
(t1, t2) => new { t1.Name, t1.Date, t2.Price }
)
这或多或少与SQL查询相对应:
SELECT t1.Name, t1.Date, t2.Price
FROM Table1 t1
INNER JOIN Table2 t2 ON t1.PrimaryKey = t2.fkTable1
答案 2 :(得分:0)
是的,您可以通过加入两个表来选择任何列。
例如:HttpSession