[英]Convert Sql Statement into Linq for use with C#, Entity Framework, MVC3
我需要將sql語句轉換為linq查詢。
下面的代碼將我所關注的區域標記為-
public class MyObjectController : Controller
{
private EFDbContext db = new EFDbContext();
private IObjectRepository objRepo;
public MyObjectController(IObjectRepository objectRepository)
{
objRepo = objectRepository;
}
//
// GET: /Client/MyObject/
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true);
if (currentUser != null && currentUser.ProviderUserKey != null && currentUser.IsApproved)
{
var currentUserId = (Guid)currentUser.ProviderUserKey;
<========HOW TO EXECUTE IN LINQ==================>
Object result = (from obj in objRepo
where obj.ObjId == currentUserId
select obj).FirstOrDefault();
<========HOW TO EXECUTE IN LINQ==================>
return View(result);
}
}
return View();
}
只是為了澄清-我將繼續這樣,但我不知道如何正確使用語法:
Object myObj = moveRepo.Objects
.Where(m => m.ObjectId)
.Equals(m => currentUserId)
return View(myObj);
您正在使用LINQ,但沒有看到任何SQL語句。 可能您想修改LINQ語句以使其正常工作。 在查詢中,您需要指定數據上下文和表。
var result = (from obj in yourDataContext.yourEntity
where obj.ObjId == currentUserId
select obj).FirstOrDefault();
該查詢將為您提供記錄(如果找到),否則返回null
看看LINQpad 。
我發現它非常有用,非常適合檢查linq是否正在執行SQL的常規操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.