标签: data-access

今天推荐哪种数据访问层用于ASP.net?

我现在正在建立一个小型网站,在那里我写下了出现的问题,并回答了其他问题.目前我正在使用DAL,就像这里描述的那样.现在我一直在研究其他模型,特别是使用Linq2SQL和ADO.net Entries框架的基于linq的模型.我意识到我正在以某种方式将数据访问移动到代码层,因为我当时正在过滤掉例如带有linq查询的toplist.我开始这样做的原因是因为DAL在任何时候都没有真正与DB同步,并且当我在DB中更改某些内容时,可空类型变得不可为空.然后,如果我将表重新导入数据表,我的查询将丢失.

我的简单问题是,如果你今天要为ASP.net提供一个好的DAL,那会是什么?建议,经验非常欢迎.

asp.net ado.net data-access data-access-layer

2
推荐指数
1
解决办法
616
查看次数

没有外键的数据库上的实体框架

我目前正在使用一个大型数据库(大约500个表),没有任何外键定义.

我的问题是有一种简单的方法可以在实体框架(版本1或版本2)中建立关系,而无需手动完成所有操作吗?

还有一些表具有复杂的关系类型.例如,客户有一个parentID,但这可以链接到同一个表中的另一个客户(customerID)或链接到帐户表中的帐户(accountID).这种关系在实体框架中是否可行?

如果这是不可能的,或者如果有人对Enitity Framework的替代解决方案有任何意见,我不仅仅对想法持开放态度.nHibernate或活跃记录会是更好的解决方案吗?或者更容易创建自己的业务对象和数据访问?

干杯

西蒙

orm entity-framework data-access business-objects

2
推荐指数
1
解决办法
2745
查看次数

Visual Studio 2010 ADO.NET数据模型与Linq到SQL

这两者有什么区别?它们乍一看似乎具有相同的功能.哪一个具有更快的性能,哪一个更容易使用?

.net data-access .net-4.0 visual-studio-2010

2
推荐指数
1
解决办法
2375
查看次数

数据访问层和数据访问对象有什么区别?

我是这个概念数据访问层和数据访问对象的新手.

我想了解数据访问层和数据访问对象之间的区别.请指导我.

java data-access data-access-layer

2
推荐指数
1
解决办法
1778
查看次数

使用Entity Framework Code First CTP 5执行地理空间搜索的最佳方法是什么?

我真的想尝试使用绿地应用程序尝试实体框架4 Code First CTP,但我想确保地理空间搜索在我做之前不会成为问题,或者我会去另一条路线.

有没有人用EF CF进行地理空间搜索?如果是这样,你是怎么做到的,为什么?

c# data-access entity-framework-4 ef-code-first

2
推荐指数
1
解决办法
355
查看次数

尝试使用Oracle Data Access ODP.NET 11.2执行ExecuteReader()时出现InvalidOperationException

这是我第一次与Oracle合作,而且我们都讨厌在你使用特定模型的同时使用外国产品,尽管这是我们的工作,我们必须做到.

现在我已经安装了Oracle 11g,并复制并引用了Oracle.DataAccess.dll,创建了一个方法,用于打开连接并尝试从服务器上创建的视图中检索某些对象.

方法:

public BindingList<HeaderReceiver> GetHeaderReceivers()
{
    try
    {
        using (OracleConnection db = new OracleConnection(BaseDataAccess.ConnString))
        {
            string cmdText = "select * from p_customer t";
            BindingList<HeaderReceiver> headerReceivers = new BindingList<HeaderReceiver>();

            OracleCommand cmd = new OracleCommand(cmdText) { CommandType = CommandType.Text };
            db.Open();

            OracleDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); <--- Error Occurs HERE!!!

            while (reader.Read())
                headerReceivers.Add(HeaderReceiver.GetInstance(reader));

            CustBranchRepository rep = new CustBranchRepository();
            headerReceivers.ForEach(p => p.DetailsBranch = rep.GetDetailReceivers(p.Id));

            reader.Close();
            db.Close();
            return headerReceivers;
        }
    }
    catch (Exception ex)
    {
        ExporterLogger.Log(ex);
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当ExecuteReader()提交时,我得到了这个InvalidOperationException.

Operation is …
Run Code Online (Sandbox Code Playgroud)

data-access odp.net oracle11g c#-4.0

2
推荐指数
1
解决办法
8337
查看次数

ORA-06502:PL/SQL:从c#web服务调用存储过程的数值或值错误

我正在尝试编写一个调用oracle存储过程的Web服务.该过程有2个输入 - 字符串(company_code)和int(客户代码).它有2个输出参数; 数字(pout_addr_code)和varchar2(pout_descr).当我从SQL Developer运行此过程时,一切正常,并且两个值都按预期返回.当我从C#Web服务调用该过程时,执行时出现错误"Oracle.DataAccess.Client.OracleException:ORA-06502:PL/SQL:numeric或value error",而不是在编译期间.

如果我注释掉cmd.ExecuteNonQuery()返回pout_addr_code.Value ...行,它将正常运行并输出我的测试字符串.

如果我从过程中删除varchar2输出并注释掉添加pout_descr参数并注释掉"我返回..."的部分,它运行正常,包括从存储过程返回值.

所以,在我看来,这个问题是在执行NonQuery当程序有OracleDbType.Varchar2线.在使用Oracle.DataAccess引用在C#中添加输出参数时,是否还有其他方法可以定义?我发现这篇文章询问了类似的错误,但他的解决方案是"在C#中指定VARCHAR2的最大值为32767",但我不知道你是怎么做到的.

这是我的c#代码:

public string AutoPmtPost(string company_code, int customer_code)
    {
        string oradb = "Data Source=MySource; User Id=MyID; Password=MyPassword;";
        OracleConnection conn = new OracleConnection(oradb);
        conn.Open();
        OracleCommand cmd = new OracleCommand("USP_JEFF_TEST", conn);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add("pin_company_code", OracleDbType.Varchar2, ParameterDirection.Input).Value = company_code;

        cmd.Parameters.Add("pin_customer_code", OracleDbType.Int32, ParameterDirection.Input).Value = customer_code;

        OracleParameter pout_addr_code = new OracleParameter("pout_addr_code", OracleDbType.Int32);
        pout_addr_code.Direction = ParameterDirection.Output;
        cmd.Parameters.Add(pout_addr_code);

        OracleParameter pout_descr = new OracleParameter("pout_descr", …
Run Code Online (Sandbox Code Playgroud)

c# web-services data-access

2
推荐指数
1
解决办法
6688
查看次数

请解释"Fanboys如何看待.NET数据访问策略"

这个图表已经在我关注的博客上多次链接,我感觉自己就像一个没有得到它的人.所以,在这里走出困境并询问这个社区.请在这里的博客文章中解释这个网格.

替代文字

.net culture persistence data-access

1
推荐指数
2
解决办法
412
查看次数

SQL注入和.NET 4

是否有.NET 4中的工具来"自动化"SQL域的验证以防止SQL注入?

我看到这篇文章,但害怕可能不是约会......

编辑:
Oracle Db兼容...

.net data-access sql-injection .net-4.0

1
推荐指数
1
解决办法
1104
查看次数

Oracle和asp.net

应该使用什么客户端从ASP.net代码访问Oracle数据库(特别是调用存储过程)?我特指工业标准.你有什么提示/技巧/问题?

EDITED

database asp.net oracle data-access

1
推荐指数
1
解决办法
136
查看次数

LocalDB(.mdf)的连接字符串无法在WPF上运行

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;Integrated Security=True;AttachDbFilename=c:\users\name\documents\visual studio 2013\Projects\DBSample\DBSample\Database1.mdf");
SqlCommand cmd = new SqlCommand("Select * From Account", con);
SqlDataReader rd= cmd.ExecuteReader(); ;
Run Code Online (Sandbox Code Playgroud)

这是我的连接代码,database1.mdf但它无法正常工作.

我看到其他帖子说这应该已经有用了

.net c# ado.net data-access

1
推荐指数
1
解决办法
1万
查看次数

如何从PHP中的其他.php文件访问数据?

我有login.phpmainpage.php文件,我想从中访问login.php用户的数据mainpage.php.

我应该使用requireinclude?如何连接这些文件?

require login.php;
include login.php;
Run Code Online (Sandbox Code Playgroud)

php data-access require include

0
推荐指数
1
解决办法
631
查看次数