我目前正在使用Entity Framework进行数据库访问,但想看看Dapper.我有这样的课程:
public class Course{
public string Title{get;set;}
public IList<Location> Locations {get;set;}
...
}
public class Location{
public string Name {get;set;}
...
}
Run Code Online (Sandbox Code Playgroud)
因此,可以在多个地点教授一门课程.实体框架为我执行映射,因此我的Course对象填充了一个位置列表.我如何与Dapper一起讨论这个问题,它是否可能,或者我必须在几个查询步骤中执行此操作?
从今天早上开始,我在尝试启动MVC 3应用程序时遇到此错误:
Required attribute 'pageBaseType' not found.
Run Code Online (Sandbox Code Playgroud)
错误消息http://i51.tinypic.com/azbbee.jpg
Google没有透露太多有用的信息,除了添加MVCMailer之外,我不知道对web.config所做的任何更改.
有想法该怎么解决这个吗?
我正在尝试开始使用BDD并找到关于MSpec和SpecFlow的视图博客文章.我目前还不太确定何时使用哪个以及这两个框架的优点/缺点是什么.
看一下文档,似乎MSpec使用了上下文规范样式,而SpecFlow使用了Given/When/Then样式.我也不介意,但我想知道,当项目/测试套件增长时,是否有任何陷阱需要留意.
基本上,在每天工作中使用它的人的一些真实世界建议/反馈将是伟大的.
我有一个注册表单,我使用客户端验证(在我的视图模型上指定Required,StringLength等).表格目前几乎是脚手架创建它的方式:
@using (Html.BeginForm("Index", "Registration"))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Registration details</legend>
@Html.ValidationSummary(false, "Please correct these errors:")
@Html.ValidationMessageFor(model => model.Username)
<div class="editor-label">
@Html.LabelFor(model => model.Username)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Username)
</div>
<p>
<input type="submit" value="Register" />
</p>
</fieldset>
}
Run Code Online (Sandbox Code Playgroud)
唯一的区别是我将ValidationMessageFor移动到ValidationSummary下面的右上角.
我想要做的是在验证摘要中显示客户端验证错误.目前,它们只显示在表单的顶部,但未使用验证摘要.如何使用验证摘要显示客户端验证错误?这甚至可能吗?
更新
Darin我在新项目中使用了你的代码,当客户端验证开始时,这就是我的样子:
客户端验证http://i56.tinypic.com/i3f320.jpg
我希望在验证摘要中显示这个,并应用验证摘要样式.我还提交了表格,然后看起来像这样:
提交http://i55.tinypic.com/2hqcowh.jpg后
谢谢,
B3N
asp.net-mvc validationsummary asp.net-mvc-2-validation asp.net-mvc-3
我正在使用EF(DLL版本为4.4)来查询数据库.该数据库包含几个包含课程信息的表.当看看实际发送给db的内容时,我看到了一个巨大的,近1300行的SQL查询(由于它的大小,我不会在这里粘贴).我在上下文中运行的查询如下所示:
entities.Plans
.Include("program")
.Include("program.offers")
.Include("program.fees")
.Include("program.intakes")
.Include("program.requirements")
.Include("program.codes")
.Include("focuses")
.Include("codes")
.Include("exceptions")
.Include("requirements")
where plans.Code == planCode
select plans).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
我想避免在从每个相关表中收集信息时回到服务器,但是如此大的查询我想知道是否有更好的方法来做到这一点?
谢谢.
我有一个类用户,看起来像这样:
public class User
{
public int UserId { get; set; }
[Required(ErrorMessage = "A username is required.")]
[StringLength(20, ErrorMessage = "Your username must be 4-20 characters.", MinimumLength = 4)]
[RegularExpression("^[a-zA-Z0-9]*$", ErrorMessage = "Your username can only consist of letters and numbers.")]
[Remote("UsernameExists", "RemoteValidation", ErrorMessage = "Username is already taken")]
public string Username { get; set; }
[Required(ErrorMessage = "A password is required.")]
[MinLength(4, ErrorMessage = "Your password must have at least 4 letters.")]
public string Password { get; set; …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个简单的实体框架代码第一个应用程序.我有这些课程:
public class User
{
public int UserId { get; set; }
public string Username { get; set; }
public virtual ActivationTicket ActivationTicket { get; set; }
}
public class ActivationTicket
{
public int ActivationTicketId { get; set; }
public virtual User User { get; set; }
public string Ticket { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试创建一个新用户并将其保存到数据库(没有ActivationTicket的用户)时,我收到一个异常
INSERT语句与FOREIGN KEY约束"ActivationTicket_User"冲突.冲突发生在数据库"Test",表"dbo.ActivatioTickets",列'ActivationTicketId'中.该语句已终止.
我假设EF将User和ActivationTicket之间的映射视为1-1,但它应该是1-0..1
我该怎么做才能让它发挥作用?
我正在尝试在Orchard中构建一个主题(转换我现有的模板)但是在设置Blog Archives小部件时遇到了问题.我有一个区域"侧边栏",我放置了小部件.
为了让它输出标记我希望我在我的视图文件夹中创建了一个新模板:Widget-BlogArchives.cshtml所有模板都将div中的内容包装在div中,如下所示:
<div class="box box_small">
@Display(Model.Content)
</div>
Run Code Online (Sandbox Code Playgroud)
所以我希望所有的widget内容都在我的div中.但是,生成的HTML如下所示:
<article class="widget-blog-archives widget" shape-id="15">
<header shape-id="15">
<h1 shape-id="15">The Archives</h1>
</header>
<div class="box box_small" shape-id="15">
<div class="archives" shape-id="16">
<ul class="archiveMonthList" shape-id="16">
<li class="first last" shape-id="16">
<a href="(shortened)/10" shape-id="16">October 2011 (1)</a>
</li>
</ul>
</div>
</div>
</article>
Run Code Online (Sandbox Code Playgroud)
我不明白的是整篇文章包装的来源?如何将标题放入我的div中并将其更改为?
有人还可以解释模型中存储标题"The Archives"的位置吗?我在形状跟踪工具中查看了模型,但找不到它......
谢谢.
UPDATE
正如Bertrand解释我对Widget-BlogArchives.cshtml做了一些更改:
@using Orchard.ContentManagement
@using Orchard.Widgets.Models
@{
Model.Metadata.Wrappers.Clear();
var title = ((IContent)Model.ContentItem).As<WidgetPart>().Title;
}
<div class="box box_small">
<h3>@title</h3>
@Display(Model.Content)
</div>
Run Code Online (Sandbox Code Playgroud)
这现在生成我想要的HTML.
我的价值观p,q,n和e,想计算私钥d.我怎么能这样做,有人可以给我一个C#代码示例吗?我使用一个BigInteger类来表示的值p,q,n和e所以我想d将是一个BigInteger为好.
我有一个通用的存储库,并希望实现一个通用的GetById方法.到目前为止,这是我的存储库界面:
public interface IRepository<T> where T : EntityObject
{
void Add(T entity);
void Delete(int id);
void Delete(T entity);
IEnumerable<T> Find(Expression<Func<T, bool>> predicate);
T SingleOrDefault(Expression<Func<T, bool>> predicate);
IEnumerable<T> GetAll();
T GetById(int id);
void Save();
T Single(Expression<Func<T, bool>> predicate);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Entity Framework 4.1.我发现的很多解决方案都是为IEntity类使用一个抽象基类接口,实体必须继承这个类才能执行Id查找.
我没有为所有类实现接口,而是尝试使用这段代码:
T entity = _objectSet.Where(
x => x.EntityKey.EntityKeyValues
.Select(v => v.Value.Equals(id)).Count() == 1).First();
Run Code Online (Sandbox Code Playgroud)
但是,当尝试使用该方法时,我收到一个异常:
The specified type member 'EntityKey' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
有人能告诉我如何让这个工作吗?
更新1
成员_objectContext和_context声明如下: …
asp.net-mvc ×4
c# ×2
.net ×1
asp.net ×1
bdd ×1
cryptography ×1
dapper ×1
encryption ×1
mspec ×1
orchardcms ×1
orm ×1
razor ×1
rsa ×1
specflow ×1