gpt4 book ai didi

c# - 使用 LINQ 查询或 GetObjectKey 检索单个 Entity Framework 实体?

转载 作者:太空狗 更新时间:2023-10-29 18:28:26 26 4
gpt4 key购买 nike

看起来 GetObjectKey 的好处是可以搜索现有的实例化对象,然后再搜索数据存储。但是,您似乎也失去了一些强类型,需要强制转换结果对象:

获取对象键

int customerID = 1;
EntityKey key = new EntityKey("MyEntities.Customers", "CustomerID", customerID);
Customer customer = context.GetObjectByKey(key) as Customer;

对比林奇

int customerID = 1;
Customer customer = (from c in context.Customers
where c.CustomerID = customerID
select c).FirstOrDefault();

就个人而言,我更喜欢后一种方法,因为需要打字。此外,您的 DAL 将相当统一,所有 Get 方法都是查询,尽管这只是个人偏好。

你们男生女生都用什么?

最佳答案

我更喜欢后者,因为它很清楚你想要什么。通过使用 EntityKey(这是 ADO.NET 团队似乎不理解的东西),我们必须解决 Entity Framework 强加给我们的结构。通过以您在第二个示例中所做的方式使用查询语言,我们告诉所有其他将查看我们代码的开发人员,嘿,我们只想要这个具有这个 ID 的对象,或者我们想要 null。

我不认为正确(就像你在第一个例子中一样)是你的同事不清楚的借口。 :)

关于c# - 使用 LINQ 查询或 GetObjectKey 检索单个 Entity Framework 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1049850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com