嗨,我打算在我的一个项目中测试EF Code First.这就是我想要的.我有三张桌子,结构如下
public partial class App_user
{
public int id { get; set; }
public string name { get; set; }
public string email_address { get; set; }
public string password { get; set; }
public int user_type { get; set; }
public List<Role> Roles { get; set; }
}
public partial class Role
{
public int id { get; set; }
public string name { get; set; }
}
public partial class User_role
{
public int user_id { …Run Code Online (Sandbox Code Playgroud) 我有很好的EF迁移工作,但我也想从我的DbMigrationsConfiguration类生成种子数据的sql脚本.当我执行Update-Database时,种子数据运行正常,但是当我执行UpdateDatabase -Script时,我没有获得种子插入的sql.我尝试-Verbose在正常的Update-Database上,但我也没有看到那里的种子语句输出.
这可能吗?
我正在尝试为Jenkins构建服务器创建一个新的项目配置.为了简化我正在尝试做的事情,我将仅使用两个组件来描述问题.
ComponentA
以componentB
在詹金斯实现这一目标的正确方法是什么?我试图找出如何添加解析配置文件的动态行为,并使Git插件根据ComponentB的预期版本检出分支,但到目前为止我没有任何线索.
在下一步中,我甚至可能希望在配置文件中使用通配符(如5.3.*),因此我必须找到与通配符匹配的最新ComponentB标记.
编辑
现在我看到我过多地简化了我的问题,并且由于简化,主要限制不再存在.
主要限制是组件A和B必须一起构建.由于它们形成一个可执行文件/库而构建脚本需要来自两个组件的源文件,因此无法单独构建它们.
如果你问为什么这么奇怪的配置,让我们给组件A和B一些描述:
可能有许多组件为 - 每个平台一个,但只有一个组件B.将特定A与B合并为单个平台生成完整的源代码,但并非每个平台都可以更新到最新版本的B,因此需要对其进行控制哪个版本的B应该用于构建.
我正在尝试使用Entity Framework 5.第一个问题是EF自动创建表.我尝试通过包括修复它
dbModelBuilder.Conventions.Remove<PluralizingTableNameConvention>().第二个问题是像这样的错误
自创建数据库以来,支持"CountryContext"上下文的模型已更改.考虑使用Code First Migrations来更新数据库.
我尝试修复它,dbModelBuilder.Conventions.Remove<IncludeMetadataConvention>();但没有意义.下一个数据访问层:
Table(Name = "tblCountries")]
public class Country
{
[Column(Name = "id", IsDbGenerated = true, IsPrimaryKey = true)]
public int Id {get;set;}
[Column(Name = "name")]
public string Name {get;set;}
}
public class CountryContext:DbContext
{
public CountryContext(string connStr):base(connStr)
{
}
public DbSet<Country> TblCountries { get; set; }
protected override void OnModelCreating(DbModelBuilder dbModelBuilder)
{
dbModelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
dbModelBuilder.Conventions.Remove<IncludeMetadataConvention>();
}
}
public class CountryDal:BaseDal
{
public int CheckIsExist(Country country)
{
int id = 0;
using (var …Run Code Online (Sandbox Code Playgroud) 正如标题暗示:
怎么可能在代码第一种方法中告诉实体框架4.1,我确实希望某些属性(特别是类型字符串)的长度为256或nvarchar(max),或者......
所以,如果这是我的模型
public class Book{
public string Title { get; set; } //should be 256 chars
public string Description {get;set} //should be nvarchar(max)
}
Run Code Online (Sandbox Code Playgroud)
怎么定义?
提前致谢!
我在MVC3应用程序中使用EF4,我正在寻找一种方法来查看给定工作组中的所有联系人.在我指定的控制器中:
var wg = from w in _repo.Workgroups.Include("Contact").ToList();
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
'System.Linq.IQueryable'不包含'Include'的定义,也没有扩展方法'Include'接受类型为'System.Linq.IQueryable'的第一个参数'(你是否缺少using指令或程序集引用) ?)
我虽然这种方法是内置于EF4中的.我是以某种方式启用它吗?
我正在使用Entity Framework 4.1并使用外键的数据注释.我想知道如何定义产品和类别之间的一对多关系.我想要分类.categoryId with product.cid
public class Category
{
public string CategoryId { get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public string CId { get; set; }
public virtual Category Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
请建议
我正在使用EF 4.1 Code First布局一个新的数据层,从较旧的自制数据层迁移.
我已经设置了两个程序集,一个用于我的上下文,一个用于所有POCO代码的第一个类.
我有一些业务逻辑,例如,对一个表(或几个表)的查询,这些表在几个不同的地方使用. 我应该把它放在哪里?
它不能进入POCO类,因为它连接了几个表,因此需要一个上下文.它可能会进入上下文,但是上下文会因数百个无组织的查询而变得臃肿. 所有业务逻辑都有共同的模式或安排吗?
我正在将我的实践框架代码升级到v4.1.在旧版本中,我使用了从ObjectContext派生的上下文类,但是使用新版本的EF 4.1,它们提供了一个很好的DbContext API.
我基本上试图转换代码,以便它从Database First方法到Code First方法.玩EF 4.1
在旧代码中,我有类似的东西
context.Connection.BeginTransaction(isolationLevel);
Run Code Online (Sandbox Code Playgroud)
其中Context是从ObjectContext派生的.
在v4.1中,我无法从上下文访问Connection属性.我怎样才能做到这一点?
我正在使用实体框架和Code First方法.基类DbContext具有创建和删除数据库以及检查其存在的功能.
我想检查一个特殊的表(实体)是否存在.是否可以使用框架实现或者我是否需要编写自定义方法?如果我需要编写自己的实现,那么最通用的方法是什么?
谢谢你的帮助.