我试图将对象插入SQLite InMembory数据库,如下所示:
private void button1_Click(object sender, EventArgs e)
{
var sessionFactory = CreateSessionFactory();
using (var session = sessionFactory.OpenSession())
{
Person p = new Person { Age = 25, FirstName = "Dariusz", LastName = "Smith" };
session.SaveOrUpdate(p);
//transaction.Commit();
}
}
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(
SQLiteConfiguration.Standard.InMemory().ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Person>())
.BuildSessionFactory();
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:"SQLite error\r\nno such table: Person"
只是为了澄清:我使用InMemory选项.
我也在使用FluentNhibernate和映射:
public class PersonMap : ClassMap<Person>
{
public PersonMap()
{
//Table("Person") doesn't resolve my problem
Id(x => x.Id);
Map(x => …Run Code Online (Sandbox Code Playgroud) 当尝试将列从 NVARCHAR(max) 更改为 VARCHAR(max) 时,出现错误:
无法创建大小为 8063 的行,该行大小大于允许的最大行大小 8060。
这是正确的,因为存储 unicode 字符需要不同的存储空间。但是有没有办法强制SQL Server进行这种转换呢?
编辑:表定义和更改命令:
CREATE TABLE [Descriptions](
[SerialNo] [varchar](20) NOT NULL,
[LanguageCode] [char](2) NOT NULL,
[Note] [nvarchar](max) NOT NULL,
[Address] [varchar](2000) NOT NULL,
[StoreId] [varchar](3) NULL,
CONSTRAINT [UK_Descriptions] UNIQUE NONCLUSTERED
(
[SerialNo] ASC,
[LanguageCode] ASC,
[StoreId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
-- Alter column:
ALTER TABLE [Descriptions] ALTER COLUMN …Run Code Online (Sandbox Code Playgroud) 我有ActionLink的问题.我想传递给MessageController的ActionLink参数,对于Edit动作:生成像这样的事件/ MessagesController/Edit/4
所以我有绑定表达式的ListView控件:
以及如何将此ID作为参数传递给ActionLink作为我的Controller Edit操作?这不起作用:,null)%>例如,我有三个任务:task1,task2,task3.如何编写运行task3但仅在task2以成功结束后运行的CruiseControl.NET配置文件?
我们来看看这段代码:
IList<IHouseAnnouncement> list = new List<IHouseAnnouncement>();
var table = adapter.GetData(); //get data from repository object -> DataTable
if (table.Rows.Count >= 1)
{
for (int i = 0; i < table.Rows.Count; i++)
{
var anno = new HouseAnnouncement();
anno.Area = float.Parse(table.Rows[i][table.areaColumn].ToString());
anno.City = table.Rows[i][table.cityColumn].ToString();
list.Add(anno);
}
}
return list;
Run Code Online (Sandbox Code Playgroud)
用更少的代码和更好的方式(必须是:-))写出这个更好的方法吗?也许使用lambda(但让我知道如何)?
提前致谢!
前段时间我使用如下命令将PFX密钥安装到Container中:
sn -i mykey.pfx VS_XXX
Run Code Online (Sandbox Code Playgroud)
但两个月后我忘记了容器名称(VS_XXX),所以我的问题是:如何得到比回名?我知道关键名称,我有这个密钥,我知道密钥短语.
我有通过ODBC连接到Postgresql数据库的Microsoft Access数据库的问题.过滤器对话框 - 使用多个可选复选框过滤数据:

不起作用.
编辑:不起作用:我认为没有复选框可供选择.只有AZ和ZA排序选项.
如何解决这个问题?我可以对数据进行排序,我可以通过输入单个值进行过滤,但不能按多个值进行过滤.提前致谢.
我有简单的课程:
public class Order
{
public int Id {get;set;}
public IList<Name> Names{get;set;}
}
public class Name
{
public int Id {get;set;}
public int LangId {get;set;}
public string LocalName {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
quesetion是如何查询subcollection Order以获得所有有一些Order.Names.LocalName(类似这样):
IList<Order> orders = repository.GetByProductLocalName("laptop");
Run Code Online (Sandbox Code Playgroud)
我想使用新的NH3功能QueryOver,而不是使用Linq(我在SO中找到了一些解决方案但是他们都使用了Linq).
如何使用IIf函数编写SQL查询?例如,我想写这样的东西:
SELECT priceNetto, vat,
PriceBrutto:Ilf(Country="ABC", priceNetto*1.22, priceNetto)
Run Code Online (Sandbox Code Playgroud)
但它不会编译.
PriceBrutto是一个动态列(查询中没有该列,但我想像编程一样以编程方式"构建"此列).
c# ×3
ms-access ×2
nhibernate ×2
.net ×1
asp.net-mvc ×1
ccnet-config ×1
cryptography ×1
lambda ×1
odbc ×1
pfx ×1
sql-server ×1
sqlite ×1
t-sql ×1