Я люблю MVC 2. все это так хорошо вписывается в сеть.
Однако есть одна функциональность, которую я не могу извлечь из функции Html.DisplayFor ()
:
<@ Page Inherits="ViewPage<IEnumerable<Foo>>">
<% foreach(var item in Model) { %>
<%: Html.DisplayFor(item.BarBaz) %>
<% } %>
Мне нужно быть возможность использовать DisplayTemplate для этого значения.
luCarMake
-----------
id Make
-- ---------
1 Audi
2 Chevy
3 Ford
Сотрудник базы данных на моей работе предлагает переименовать несколько таблиц, которые являются просто идентификаторами, отображающими одну таблицу в другую, в качестве справочных таблиц. Пример (Location_QuadMap ниже):
Location
----------
LocationId
name
description
Location_QuadMap <-- suggesting i rename this to luLocationQuad
----------------
QuadMapId
LocationId
luQuadMap
---------
QuadMapId
QuadMapName
Можно ли предположить, что она неправильно прочитала диаграмму, или есть другое определение, о котором я не знаю?
То, что у вас есть, называется соединительной таблицей . Он также известен как:
Но я никогда не видел, чтобы термин "таблица поиска" использовался для этой цели.
Выберите свои сражения , но я бы попросил человека пояснить соглашение об именах, так как они предложили использовать то же соглашение для «один ко многим» и «многие ко -многие отношения. Похоже, что любая связь по внешнему ключу означает, что в ней задействована таблица "поиска".
Если это соглашение об именах для других баз данных, я бы не стал испытывать удачу.
Марк Байерс дал правильное определение для этой таблицы. По сути, это таблица пересечений. См. любой учебник по базам данных.
Но на самом деле я работал со многими DBA/архитекторами, и большинство из них придумывают свой собственный стиль выполнения задач и не хотят слышать ничего другого. Такие вещи, как правила отступов, регистр для операторов SQL, соглашения об именовании таблиц (даже очень плохих), стратегии архивирования и т.д.... У вас практически нет выбора, если они контролируют базу данных. Вы можете упомянуть, что это таблица пересечений, указать на соответствующую литературу, но в конце концов, если она хочет назвать ее MyStupidlyLongAndPointlessPrefixForTablesBecauseICan_Lookup_Location_Quadmap и настаивает на этом, то вы ничего не сможете сделать.
Так что попробуйте указать ей на это, но если она не согласится, не воспринимайте это слишком серьезно...
Я только что подумал еще кое о чем. Таблицы поиска (наше определение) обычно называют также кодовыми таблицами. Так что она может называть таблицы пересечений таблицами поиска, а таблицы поиска - кодовыми таблицами. В этом случае вам, возможно, придется научиться говорить на ее языке...
Некоторые люди используют термин Lookup Table как таблицу, которая находится в середине отношений "многие ко многим".
Таблица поиска обычно представляет собой таблицу, которая действует как «главный список» для чего-либо, и вы используете ее для поиска значения бизнес-ключа (например, «Make») в обмен на его идентификатор ( как столбец id) для использования в столбце внешнего ключа какой-либо другой таблицы.
По сути, вы приходите с чем-то, чтобы «поискать» и обменять это на что-то другое.
Location_quadmap, с другой стороны, представляет собой таблицу мостов, которая, как уже было сказано другими, используется, когда между двумя объектами существует связь «многие ко многим». Если вы назовете это поисковой таблицей, то я бы сказал, что любую таблицу можно назвать поисковой таблицей.Эти таблицы содержат только идентификаторы для других таблиц, поэтому вам нужно сначала найти идентификатор в одной таблице, найти идентификаторы, которые совпадают в таблице моста, а затем найти соответствующие строки в таблице 3-й стол? Кажется, этот термин заходит слишком далеко.