Как объединить таблицы, используя лямбда-выражения - PullRequest
0 голосов
/ 04 сентября 2018

Я новичок в лямбда-выражении и структуре сущностей. У меня вопрос, у меня есть следующая структура таблиц.

tbl_loan => loanID,LoanValue,LoanType

tbl_crin => crID,CRValue,CUSName,FacID // здесь FacID является внешним ключом tbl_loan(loanID)

tbl_crg => crgID,crgName,CRValue,Amount FacID // здесь внешний ключ FacID tbl_loan(loanID)

Мне нужно написать, чтобы взять все столбцы каждой таблицы на основе loanID. Как написать запрос с использованием лямбда-выражения.

В этом методе мне нужно вернуть результат того запроса. Который принимает параметр с именем loanID. Я попробовал простой, но я понятия не имею, чтобы написать полный код (лямбда-выражение)

public List<tbl_loan> GetCRGDetails(int loanID)
    {

        var result = new List<tbl_loan>();
        var entities = new LAEntities();
        try
        {
            result = entities.tbl_loan.Where(ln => ln.loanID == loanID).ToList();

        }
        catch (Exception e)
        {
            Logger.LogWriter("SITS.SB.LA.BL.App", e, "AgeDataLogic", "GetCRGDetails");
        }

        return result;
    }

Пожалуйста, помогите мне решить эту проблему. Здесь я возвращаюсь tbl_loan. мне нужно создать дополнительный класс, чтобы перенастроить все данные? или есть еще способ сделать это?

Обновление:

В моем проекте часть details.cshtml выглядит следующим образом:

@model SITS.SB.LA.DA.tbl_loan 

@{
    ViewBag.Title = "Details";
}

<h2>Details</h2>

<div>
    <h4>Customer Loan Details</h4>
    <hr/>

    <label for="colFormLabelSm" class="col-sm-2 col-form-label col-form-label-sm" ng-model="">@Html.DisplayFor(model => model.ID)</label>
    <label for="colFormLabelSm" class="col-sm-2 col-form-label col-form-label-sm" ng-model="">@Html.DisplayFor(model => model.NETINCOME)</label>

Итак, как мне отобразить значения других столбцов таблицы, например (crID, CRValue, CUSName)

Мой класс контроллеров выглядит следующим образом,

public ActionResult Details(int id)
{
    var logic = new LoanDetailsDataLogic();
    var result = logic.GetCRGDetails(id);
    return View(result);

}

1 Ответ

0 голосов
/ 04 сентября 2018

вы можете попробовать включить ключевое слово Entity Framework, как.

result = entities.tbl_loan.Include("tbl_crin").Where(ln => ln.loanID == loanID).ToList();

Или вы можете написать запрос как

 result =(from u in tbl_loan
   join t1 in tbl_crin on u.loanID = t1.loanID
   Join t2 in tbl_crg  on u.loanID = t2.loanID
   select new {u,t1,t2});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...