我有一个不能使用配置文件的应用程序,必须通过代码(使用EntityConnectionStringBuilder)为实体上下文设置连接字符串.
然而问题来自于此:
没有为ADO.NET提供程序找到具有不变名称"System.Data.SqlClient"的实体框架提供程序.
由于我无法使用标准的app.config文件,我是否搞砸了EF6?如果我没记错的话,这在EF4中不是问题.因此,entityFramework-tag中的设置是我希望在代码中设置的.
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
Run Code Online (Sandbox Code Playgroud) 我有一个数据库模型,其中模型之间存在关系,这给Code First带来了一些问题。下面是一个构造的示例。
一位读者可以阅读几本书,而另一位读者可以阅读一本书。另外,每个读者可能都有一本喜欢的书。
//not-working model
public class BookReader
{
public virtual List<Book> ReadBooks { get; set; }
public virtual Book FavoriteBook { get; set; }
public int ID { get; set; }
}
public class Book
{
public string BookName { get; set; }
public int ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这不是很好。如果在代码中将多个读者设置为阅读同一本书,则只有一位读者会将其保存到数据库(可能是最后一组)。
另外,如果BookReader.FavoriteBook和BookReader.ReadBooks包含同一本书,并且db.SaveChanges()创建此新书(不是现有的db实体),则会导致此错误:
保存不公开外键的实体时发生错误关系的属性。
这是我对InverseProperty和导航属性的修复。
//working model
public class BookReader
{
[InverseProperty("CurrentReaders")]
public virtual List<Book> ReadBooks { get; set; }
public virtual Book FavoriteBook { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我的问题是 HTML 是在代码标签内呈现的。在幽灵博客中,我使用代码标签没有遇到任何问题。除了实际呈现的 HTML 之外。
下面的这个例子是实际渲染的。
<pre><code>
<div>some text</div>
<input value="even this is rendered"></input>
</code></pre>
Run Code Online (Sandbox Code Playgroud)
如果我使用 4 个空格内联,效果很好。我正在使用默认样式布局。
查看官方降价文档,这应该可行。 http://daringfireball.net/projects/markdown/syntax