我知道这个问题之前已被多次询问,因为我已经阅读了很多关于利弊等主题的帖子,但我仍然无法确定哪种方法适合我.我是网络编程的新手,来自SQL DB管理员/报告编写背景.我决定尝试建立自己的网站,最终可能会有更多的30 -40桌子.
我看了两种方法,我确实赞成实体模型方法,因为我喜欢设计师的简单性,我喜欢在我面前看到整个模型,它在一个快照中显示整体画面.另外,我不是一个强大的程序员,我对它使用DbContext生成器模板生成POCO的方式印象深刻,并完成了类之间的所有链接.
然而,虽然我喜欢模型第一种方法,但我觉得有一些缺点,我不确定它们是否是真正的缺点,或者我只是对模型第一种方法和代码第一种方法知之甚少,因为我仍然非常新的.
我对使用Model First方法犹豫不决的原因是:
- 主要是因为我很难找到使用MVC 3的模型第一种方法的教程.我发现使用DbContext的最好的教程是Julie Lerman,但她不涉及对使用数据注释和制作其他内容很重要的伙伴类重新生成POCO时未丢失的更改.大多数与MVC 3相关的教程似乎都使用Code第一种方法.大多数人都说这是因为导师不想专注于EF,而是在tuts中展示更多的MVC.我个人认为这是因为微软支持Code First方法而不是其他方法:)
- 如果创建好友类是一个好习惯,为什么我找不到很多教程来展示MVC 3呢?Buddy Classes是View Models的另一个名称吗?为什么我找不到微软展示这些与MVC 3一起使用的伙伴/视图模型的教程?
- 我试图在2个表之间建立基本的1对1关系.在模型中,您必须将每个表的标识键设置为相同的字段,而不是在其中一个表中使用FK,当您有3个或更多表通过1对1关系相互链接时,这可能会有点混乱.在代码中首先解决这个问题的方法是使用模型构建器并手动设置它.我认为在MF中你可以通过进入我根本不热衷的XML来改变关系.
- 更多支持/帮助解决代码问题
我对使用Code First方法犹豫不决的原因是:
- 我是新手编码员.
- 我发现随着项目的扩展,跟踪表格和关系变得非常困难.
- 没有模型图,我不得不说我真的喜欢这个想法.
- 通过配置类将实体映射到数据库我发现不可能:).
- 更新表将需要更改代码和数据库.在模型中,首先只对模型进行一次更改,该模型将自动更新数据库和代码,如果您使用好友类,则可能还需要更新这些类.
此外,我现在看到人们在某种程度上结合了Code First和Database的第一种方法,因为你不要让Code First生成你的数据库,而是手动创建一个数据库,并使用代码优先API到EF来实现它.
我的头脑旋转着所有的选择和缺点以及利弊.我只是想继续创建我的网站,而不是思考采取哪种方法.任何人都可以根据我所说的和/或他们认为未来更主流的方式,给我一些洞察他们认为最好的方法吗?
非常感谢戴夫
.net ef-code-first entity-framework-4.1 asp.net-mvc-3 ef-model-first
我有一个在另一个上面的2个表,我想将它们的列宽完全相互对齐,有没有办法做到这一点?尝试固定的表格宽度等没有喜悦
你可以看到小提琴彼此略微偏离 http://jsfiddle.net/askhe/
HTML
<table class="tblresults txtblack">
<tr class="tblresultshdr bold">
<td class="col1">Company</td>
<td>Currency</td>
<td>Bid</td>
<td>Ask</td>
<td>YTD Vol</td>
</tr>
<tr>
<td class="col1">ABC</td>
<td>GBP</td>
<td>94</td>
<td>16</td>
<td>3,567,900</td>
</tr>
<tr>
<td class="col1">DEF</td>
<td>GBP</td>
<td>3</td>
<td>46</td>
<td>10,000</td>
</tr>
<tr>
<td class="col1">GHI</td>
<td>GBP</td>
<td>3</td>
<td>46</td>
<td>10,000</td>
</tr>
<tr>
<td class="col1">JKLM</td>
<td>GBP </td>
<td>7</td>
<td>46</td>
<td>56,000</td>
</tr>
</table>
<table class="tblresults txtblack margintop10">
<tr>
<td colspan="5" class="bold" >Investments</td>
</tr>
<tr>
<td class="col1">ghjk</td>
<td>GBP</td>
<td>13</td>
<td>6</td>
<td>130,000</td>
</tr>
<tr>
<td class="col1">asdsa</td>
<td>GBP</td>
<td>120</td>
<td>46</td>
<td>16,000</td>
</tr>
<tr>
<td …
Run Code Online (Sandbox Code Playgroud) 我想将用户帐户添加到我的MVC 3网络应用程序.对于每个用户帐户,我想添加相应的用户配置文件,通常的电子邮件和地址联系信息等.也可能在用户忘记时添加一些安全问题有登录凭据.
我已经阅读了一些关于使用提供的ASP.net配置文件选项的信息,并且有些人建议使用您自己的会员表,因为它可以更快地检索用户配置文件信息,尤其是当用户列表增长时.
任何人都可以给我一些关于使用哪种方法的见解,并指出我的任何教程的方向,向我展示如何在MVC 3 Web应用程序中实现用户帐户和配置文件?
非常感谢D.
我知道大多数人使用下面的方法并为需要翻译的特定表创建转换表,但这可能相当于一堆表.
CREATE TABLE Product
(
Product_id
,ProductTrans_id -- FK
)
CREATE TABLE ProductTranslation
(
ProductTrans_id
,Product_id
,Name
,Descr
,lang_code
)
Run Code Online (Sandbox Code Playgroud)
以下方法是否可行?假设您有许多表需要翻译多个列.你可以做以下nad将所有翻译保存在1个表中吗?我想这张桌子随着时间的推移会变得非常大.
CREATE TABLE translation_entry (
translation_id int,
language_id int,
table_name nvarchar(200),
table_column_name nvarchar(200),
table_row_id bigint,
translated_text ntext
)
CREATE TABLE translation_language (
id int,
language_code CHAR(2)
)
Run Code Online (Sandbox Code Playgroud)
因此,使用第二种方法,你会得到这样的文本
select
product.name
,translation_entry.translated_text
from product
inner join translation_entry on product.product_id = translation_entry.table_row_id
and translation_entry.table_name = 'Product' and translation_entry.table_column_name = 'Name'
and language_id = 3
Run Code Online (Sandbox Code Playgroud) 我想尝试使用suckerfish样式下拉菜单在IE6中使用任何东西:悬停但不能让我的生活得到第3级显示!它让我疯狂对此有任何帮助将不胜感激.
继承人代码HTML:
<!DOCTYPE html>
<html>
<body>
<header>
<link rel="stylesheet" type="text/css" href="styleIE.css" />
</header>
<form>
<div id="container">
<div id = "menu">
<ul id="nav">
<li><a class="rhlinkstart" href="#"><span>Home</span></a></li>
<li><a class="rhlink" href="#"><span>Blad<br> Securities</span></a></li>
<li><a class="rhlink" href="#"><span>Market<br> Update</span></a></li>
<li><a class="rhlink" href="#"><span>Membership</span></a></li>
<li><a class="rhlink" href="#"><span>asdasd Info</span></a>
<ul>
<li><a class="linkchild" href="#"><img class = "arrow" src="Images/arrow.gif" alt="►">About the DOOB</a>
<ul>
<li><a class="linkchild" href="#">DOOB Explained</a></li>
<li><a class="linkchild" href="#">DOOB Jurisdications</a></li>
</ul>
</li>
<li><a class="linkchild" href="#">International Recogintion</a></li>
<li><a class="linkchild" href="#"><img class = "arrow" src="Images/arrow.gif" alt="►">Advantages of listing</a>
<ul>
<li><a class="linkchild" …
Run Code Online (Sandbox Code Playgroud)