2010-08-16 2 views
1

this question과 동일한 작업을 수행하려고했지만 문제가 있습니다.LINQ를 사용하여 SQL Server에 이진 개체 저장

데이터베이스를 삽입하고 업데이트하기 전에 개체 준비 방법을 나와 함께 공유 할 수 있습니까?

는 내가 SQL 서버 2008

+0

환영합니다 스택 오버플로. 아래의 답변 중 하나가 질문에 대답하는 데 도움이되면 허용되는 답변으로 표시해야합니다. – Kelsey

답변

2

당신은 당신의 List<object>byte[] A를 변환 할 필요가있는 VarBinary(max)로 저장하려는 List<myObject> 있습니다. Linq는 특별히 필요하지 않지만 Linq to Sql을 사용하고 있다고 가정합니까? 바이너리를 포함해야하는 속성에 객체를 저장하기 전에 byte[]으로 변환해야합니다. 다음은 필요한 것을 수행하는 몇 가지 예제 코드입니다 (Source Link) :

// Convert an object to a byte array 
private byte[] ObjectToByteArray(Object obj) 
{ 
    if(obj == null) 
     return null; 
    BinaryFormatter bf = new BinaryFormatter(); 
    MemoryStream ms = new MemoryStream(); 
    bf.Serialize(ms, obj); 
    return ms.ToArray(); 
} 

// Convert a byte array to an Object 
private Object ByteArrayToObject(byte[] arrBytes) 
{ 
    MemoryStream memStream = new MemoryStream(); 
    BinaryFormatter binForm = new BinaryFormatter(); 
    memStream.Write(arrBytes, 0, arrBytes.Length); 
    memStream.Seek(0, SeekOrigin.Begin); 
    Object obj = (Object) binForm.Deserialize(memStream); 
    return obj; 
} 
+0

@ryan : 훌륭한 답변입니다. 확인 표시와 함께이 대답을 '수락'하십시오. –

관련 문제