我有一种情况,我需要来自多个数据库表的数据。C#Linq to Entity Framework多个不相关的查询
表1 - 列表需要在前端html,角度kendo网格上显示的列 - 可以通过单独的管理配置进行配置。
表2(加入其他一些表) - 具有需要在角度前端显示的数据。
我在这里我正在使用的linq如下。
查询1:让列清单显示网格
var columns = from cols in _context.columns
select cols.colNames;
查询2:获取的实际数据列表
var data = from cust in _context.customer
join details in _context.custDetails on cust.id equals details.custid
join o in _context.orders on cust.id equals o.custid
where cust.id == XXXX
select new Customer
{
Id = cust.Id,
Name = cust.Name,
Address = details.Address,
City = details.City,
State = details.State,
OrderDate = o.OrderDate,
Amount = o.Amount
//15 other properties similarly
};
返回的IQueryable类型剑道DataSourceRequest
目前,从我的用户界面我已经做了两个API调用一个对于列和一个用于获取实际数据,并显示/隐藏在列表中配置的列。
但问题是,如果有人着眼于网络上或在浏览器的工具,他们可以看到该退还是要隐藏这是一个安全问题列中的数据的API调用。
我正在寻找一个查询我的api返回数据使用第二个查询应该是足够智能发送数据只有配置列(可能有30个不同的列),并将其他属性设置为null或根本不选择它们。有些属性需要始终返回,因为它们被用于其他目的。
我搜索我如何能产生动态的LINQ选择使用配置的列多的资源。
请有人帮我解决这个问题
您的Angular UI正在调用Web API,它反过来调用SQL,是否正确?并以某种格式将数据返回给UI(可能是JSon格式)?那么你想在哪里加密?客户端和Web API之间或Web API或SQL之间? – Viru
@Viru我认为他希望过滤数据,以免从服务器传输敏感数据,而不仅仅是加密它,这会让任何用户在浏览器调试工具中看到敏感数据。 –
@JoachimIsaksson雅得到它谢谢 – Viru